merkle_tree
MerkleTree implementation.
Examples
// This version uses the pedersen hash method because the PedersenHasherImpl is in the scope.
use alexandria_data_structures::merkle_tree::{Hasher, MerkleTree, pedersen::PedersenHasherImpl,
MerkleTreeTrait};
// Create a new merkle tree instance.
let mut merkle_tree: MerkleTree<Hasher> = MerkleTreeTrait::new();
let mut proof = array![element_1, element_2];
// Compute the merkle root.
let root = merkle_tree.compute_root(leaf, proof);
// This version uses the poseidon hash method because the PoseidonHasherImpl is in the scope.
use alexandria_data_structures::merkle_tree::{ Hasher, MerkleTree, poseidon::PoseidonHasherImpl,
MerkleTreeTrait };
// Create a new merkle tree instance.
let mut merkle_tree: MerkleTree<PoseidonHasher> = MerkleTreeTrait::new();
let mut proof = array![element_1, element_2];
// Compute the merkle root.
let root = merkle_tree.compute_root(leaf, proof);
Fully qualified path: alexandria_merkle_tree::merkle_tree
Modules
Structs
| Hasher | — |
| MerkleTree | MerkleTree representation. |
| StoredMerkleTree | Efficient MerkleTree with pre-built tree storage for O(log n) proof generation…. |
Traits
| HasherTrait | Hasher trait. |
| MerkleTreeTrait | MerkleTree trait defining operations for Merkle tree construction and verification. |
| StoredMerkleTreeTrait | StoredMerkleTree trait defining operations for efficient Merkle tree with pre-computed storage. |