commitmentsToVersionedHashes
Transforms a list of commitments to their versioned hashes
commitmentsToVersionedHashes
Transforms a list of KZG commitments to their versioned hashes.
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"
commitments, _ := blob.BlobsToCommitments(blobs, kzgImpl)
// Transform commitments to versioned hashesversionedHashes := blob.CommitmentsToVersionedHashes(commitments, kzg.VersionedHashVersionKzg)// [][]byte{...}
// Use default KZG versionversionedHashes = blob.CommitmentsToVersionedHashesDefault(commitments)
// Get as hex stringshexHashes := blob.CommitmentsToVersionedHashesHex(commitments, kzg.VersionedHashVersionKzg)// []string{"0x01...", "0x01...", ...}Returns
- Type:
[][]byteforCommitmentsToVersionedHashes,[]stringforCommitmentsToVersionedHashesHex
An array of versioned hashes, one for each commitment. Each hash is 32 bytes.
Parameters
commitments (required)
- Type:
[][]byteforCommitmentsToVersionedHashes,[]stringforCommitmentsHexToVersionedHashes
The KZG commitments to transform.
commitments, _ := blob.BlobsToCommitments(blobs, kzgImpl)versionedHashes := blob.CommitmentsToVersionedHashes(commitments, kzg.VersionedHashVersionKzg)version (required)
- Type:
byte
The version byte to use. For KZG commitments, use kzg.VersionedHashVersionKzg (0x01).
versionedHashes := blob.CommitmentsToVersionedHashes(commitments, kzg.VersionedHashVersionKzg)Functions
CommitmentsToVersionedHashes
Transforms commitments to versioned hashes:
versionedHashes := blob.CommitmentsToVersionedHashes(commitments, kzg.VersionedHashVersionKzg)
CommitmentsToVersionedHashesDefault
Transforms commitments using the default KZG version:
versionedHashes := blob.CommitmentsToVersionedHashesDefault(commitments)
CommitmentsToVersionedHashesHex
Transforms commitments and returns hex strings:
hexHashes := blob.CommitmentsToVersionedHashesHex(commitments, kzg.VersionedHashVersionKzg)
CommitmentsHexToVersionedHashes
Transforms hex commitments to versioned hashes:
versionedHashes, _ := blob.CommitmentsHexToVersionedHashes(hexCommitments, kzg.VersionedHashVersionKzg)
CommitmentsHexToVersionedHashesHex
Transforms hex commitments and returns hex versioned hashes:
hexHashes, _ := blob.CommitmentsHexToVersionedHashesHex(hexCommitments, kzg.VersionedHashVersionKzg)
Notes
- Each versioned hash is 32 bytes (256 bits)
- The number of hashes equals the number of commitments
- Used in EIP-4844 blob transactions to reference blob commitments