writeBlobFlow method

Future<WriteBlobFlow> writeBlobFlow({
  1. required Uint8List blob,
  2. BlobMetadata? metadata,
})

Create a multi-step write blob flow for dApp wallet integration.

Returns a WriteBlobFlow whose register() and certify() methods return unsigned Transaction objects for external signing.

In direct mode (no relay), the flow encodes the blob client-side and writes slivers to storage nodes during the upload() step.

Implementation

Future<WriteBlobFlow> writeBlobFlow({
  required Uint8List blob,
  BlobMetadata? metadata,
}) async {
  final txBuilder = await _ensureTxBuilder();
  await _ensureTipConfig();

  return WriteBlobFlow(
    blob: blob,
    txBuilder: txBuilder,
    relayClient: _relayClient,
    tipConfig: _tipConfig,
    encoder: encoder,
    precomputedMetadata: metadata,
    committee: _committee,
    directClient: _relayClient == null ? this : null,
    stateReader: _stateReader,
    suiClient: suiClient,
  );
}