sidecarsToVersionedHashes
Extracts versioned hashes from blob sidecars
sidecarsToVersionedHashes
Extracts versioned hashes from blob sidecars by transforming their commitments.
Import
import "github.com/ChefBingbong/viem-go/utils/blob"import "github.com/ChefBingbong/viem-go/utils/kzg"Usage
import "github.com/ChefBingbong/viem-go/utils/blob"import "github.com/ChefBingbong/viem-go/utils/kzg"
sidecars, _ := blob.ToBlobSidecars(blob.ToBlobSidecarsParams{ Data: []byte("hello world"), Kzg: kzgImpl,})
// Extract versioned hashes from sidecarsversionedHashes := blob.SidecarsToVersionedHashes(sidecars, kzg.VersionedHashVersionKzg)// [][]byte{...}
// Use default KZG versionversionedHashes = blob.SidecarsToVersionedHashesDefault(sidecars)
// Get as hex stringshexHashes := blob.SidecarsToVersionedHashesHex(sidecars, kzg.VersionedHashVersionKzg)// []string{"0x01...", "0x01...", ...}Returns
- Type:
[][]byteforSidecarsToVersionedHashes,[]stringforSidecarsToVersionedHashesHex
An array of versioned hashes, one for each sidecar. Each hash is 32 bytes.
Parameters
sidecars (required)
- Type:
[]blob.BlobSidecarforSidecarsToVersionedHashes,[]blob.BlobSidecarHexforSidecarsHexToVersionedHashes
The blob sidecars to extract versioned hashes from.
sidecars, _ := blob.ToBlobSidecars(params)versionedHashes := blob.SidecarsToVersionedHashes(sidecars, kzg.VersionedHashVersionKzg)version (required)
- Type:
byte
The version byte to use. For KZG commitments, use kzg.VersionedHashVersionKzg (0x01).
versionedHashes := blob.SidecarsToVersionedHashes(sidecars, kzg.VersionedHashVersionKzg)Functions
SidecarsToVersionedHashes
Extracts versioned hashes from sidecars:
versionedHashes := blob.SidecarsToVersionedHashes(sidecars, kzg.VersionedHashVersionKzg)
SidecarsToVersionedHashesDefault
Extracts versioned hashes using the default KZG version:
versionedHashes := blob.SidecarsToVersionedHashesDefault(sidecars)
SidecarsToVersionedHashesHex
Extracts versioned hashes and returns hex strings:
hexHashes := blob.SidecarsToVersionedHashesHex(sidecars, kzg.VersionedHashVersionKzg)
SidecarsHexToVersionedHashes
Extracts versioned hashes from hex sidecars:
versionedHashes, _ := blob.SidecarsHexToVersionedHashes(hexSidecars, kzg.VersionedHashVersionKzg)
SidecarsHexToVersionedHashesHex
Extracts versioned hashes from hex sidecars and returns hex strings:
hexHashes, _ := blob.SidecarsHexToVersionedHashesHex(hexSidecars, kzg.VersionedHashVersionKzg)
Notes
- Extracts versioned hashes from the commitments in each sidecar
- Each versioned hash is 32 bytes (256 bits)
- The number of hashes equals the number of sidecars
- Used in EIP-4844 blob transactions to reference blob commitments