[−][src]Crate rcmerkle
Merkle Tree to calculate Root. Suppert Two Way: One is traditional use MerkleTree, it need send all hashed list. Two is efficient, but need to save state, like state machine. it need send new value, it will return the lastest root. Example:
use rcmerkle::{BetterMerkleTreeSHA256, Hash, MerkleTreeSHA256, SHA256}; let list = [ "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", ]; let hashed_list: Vec<SHA256> = list.iter().map(|v| SHA256::hash(v.as_bytes())).collect(); let mut better_merkle = BetterMerkleTreeSHA256::new(); for i in 0..hashed_list.len() { let root1 = MerkleTreeSHA256::root(hashed_list[0..i + 1].to_vec()); let root2 = better_merkle.root(hashed_list[i].clone()); assert_eq!(root1, root2); }
Structs
BetterMerkleTree | Efficient, and save state. |
Keccak256 | helper Keccak256(SHA3) |
MerkleTree | Traditional merkle tree. |
SHA256 | helper SHA256 |
Traits
Hash | trait to define different hash function |
Type Definitions
BetterMerkleTreeKeccak256 | |
BetterMerkleTreeSHA256 | |
MerkleTreeKeccak256 | |
MerkleTreeSHA256 |