Files
darkfi/example/tree.rs

28 lines
681 B
Rust

use group::ff::Field;
use incrementalmerkletree::{bridgetree::BridgeTree, Frontier, Tree};
use pasta_curves::pallas;
use rand::rngs::OsRng;
use darkfi::{crypto::merkle_node::MerkleNode, Result};
fn main() -> Result<()> {
let mut tree = BridgeTree::<MerkleNode, 32>::new(100);
for i in 0..10 {
tree.append(&MerkleNode(pallas::Base::random(&mut OsRng)));
if i % 3 == 0 {
tree.witness();
}
}
let bytes = bincode::serialize(&tree).unwrap();
let tree2: BridgeTree<MerkleNode, 32> = bincode::deserialize(&bytes).unwrap();
let root1 = tree.root();
let root2 = tree2.root();
assert_eq!(root1, root2);
Ok(())
}