React SDK

useEncodeBlobs

Encode blobs using erasure coding

This mutation generates blob commitments (merkle roots and erasure coding chunks) from raw blob data. It supports custom erasure coding providers and progress callbacks for tracking encoding progress.

Example

import { useEncodeBlobs } from "@shelby-protocol/react";

function EncodeBlob() {
  const encodeBlobs = useEncodeBlobs({
    onSuccess: (commitments) => {
      console.log(`Encoded ${commitments.length} blobs`);
      console.log("Commitments:", commitments);
    },
  });

  const handleEncode = () => {
    const blobData = new Uint8Array([/* your blob data */]);

    encodeBlobs.mutate({
      blobs: [{ blobData }],
    });
  };

  return (
    <button onClick={handleEncode} disabled={encodeBlobs.isPending}>
      {encodeBlobs.isPending ? "Encoding..." : "Encode Blob"}
    </button>
  );
}

Parameters

Prop

Type

React Query Options

Prop

Type

Mutation Variables

Prop

Type

Return Value

Prop

Type