toBlobSidecars
Creates blob sidecars from data or pre-computed components
Creates blob sidecars from data or pre-computed components
Creates blob sidecars from data or pre-computed components (blobs, commitments, proofs). A sidecar contains a blob, its KZG commitment, and its proof.
import "github.com/ChefBingbong/viem-go/utils/blob"import "github.com/ChefBingbong/viem-go/utils/kzg"import "github.com/ChefBingbong/viem-go/utils/blob"import "github.com/ChefBingbong/viem-go/utils/kzg"
// Create sidecars from raw datasidecars, err := blob.ToBlobSidecars(blob.ToBlobSidecarsParams{ Data: []byte("hello world"), Kzg: kzgImpl,})if err != nil { log.Fatal(err)}
// Create sidecars from pre-computed componentssidecars, err = blob.ToBlobSidecars(blob.ToBlobSidecarsParams{ Blobs: blobs, Commitments: commitments, Proofs: proofs,})
// Get sidecars as hex stringshexSidecars, err := blob.ToBlobSidecarsHex(blob.ToBlobSidecarsParams{ Data: []byte("hello world"), Kzg: kzgImpl,})([]blob.BlobSidecar, error) for ToBlobSidecars, ([]blob.BlobSidecarHex, error) for ToBlobSidecarsHexAn array of blob sidecars, each containing a blob, commitment, and proof.
blob.ToBlobSidecarsParamsParameters for creating blob sidecars.
params := blob.ToBlobSidecarsParams{ Data: []byte("hello world"), Kzg: kzgImpl,}
sidecars, _ := blob.ToBlobSidecars(params)[]byteRaw data to transform into blobs. Mutually exclusive with Blobs. Requires Kzg to compute commitments and proofs.
params := blob.ToBlobSidecarsParams{ Data: []byte("hello world"), Kzg: kzgImpl,}[][]bytePre-computed blobs. Mutually exclusive with Data. Requires either Commitments and Proofs to be provided, or Kzg to compute them.
params := blob.ToBlobSidecarsParams{ Blobs: blobs, Commitments: commitments, Proofs: proofs,}[][]bytePre-computed KZG commitments. Required if Blobs is set without Kzg.
params := blob.ToBlobSidecarsParams{ Blobs: blobs, Commitments: commitments, Proofs: proofs,}[][]bytePre-computed KZG proofs. Required if Blobs is set without Kzg.
params := blob.ToBlobSidecarsParams{ Blobs: blobs, Commitments: commitments, Proofs: proofs,}kzg.KzgKZG implementation for computing commitments and proofs. Required if Data is set, or if Blobs is set without Commitments and Proofs.
params := blob.ToBlobSidecarsParams{ Data: []byte("hello world"), Kzg: kzgImpl,}Creates blob sidecars:
sidecars, _ := blob.ToBlobSidecars(params)
Creates hex-encoded blob sidecars:
hexSidecars, _ := blob.ToBlobSidecarsHex(params)
Each sidecar contains: