Skip to main content

Module blake3

Module blake3 

Source
Expand description

BLAKE3-native plumbing for [jf_merkle_tree::MerkleTree].

jf_merkle_tree::hasher::GenericHasherMerkleTree<H, ...> requires H: digest::Digest (the RustCrypto trait). The BLAKE3 crate only implements that trait via its traits-preview feature, which is pinned to a specific digest crate version — it lags behind blake3’s release cadence and forces the rest of the workspace onto an old blake3 line.

These helpers let us drive MerkleTree directly with blake3’s native API.

Structs§

Blake3DigestAlgorithm
DigestAlgorithm for Blake3Node using blake3’s native API.
Blake3Node
32-byte BLAKE3 hash, suitable as a jf_merkle_tree NodeValue.
HasherWriter 🔒
ark_std::io::Write adapter that forwards writes into a blake3::Hasher.

Constants§

INTERNAL_HASH_DOM_SEP 🔒
LEAF_HASH_DOM_SEP 🔒
Domain separators copied from jf_merkle_tree::prelude (which keeps them pub(crate)).