🌳 Merkle Tree

The simple and easy implementation of Rust Merkle Tree


Table of Contents

Credits

GitHub Contributors Image

How to install

How to works

This library provides a clean and easy to use implementation of the Merkle Tree with the following features:

How to Use

Create a Merkle Tree

```rust use merkletreers::mtree::MerkleTree;

let tree = MerkleTree::new(vec!["a","b","c","d"]);

assert_eq!(tree.leafs(), [ "3ac225168df54212a25c1c01fd35bebfea408fdac2e31ddd6f80a4bbf9a5f1cb", "b5553de315e0edf504d9150af82dafa5c4667fa618ed0a6f19c69b41166c5510", "0b42b6393c1f53060fe3ddbfcd7aadcca894465a5a438f69c87d790b2299b9b2", "f1918e8562236eb17adc8502332f4c9c82bc14e19bfc0aa10ab674ff75b3d2f3", ]) ```

Create a Root

```rust use merkletreers::mtree::MerkleTree;

let tree = MerkleTree::new(vvec!["a","b","c","d"]);

assert_eq!( tree.root(), vec!["115cbb4775ed495f3d954dfa47164359a97762b40059d9502895def16eed609c"], ); ```

Create Proof of a leaf rs

Verify Proof of a leaf rs

Roadmap

| Feature | Status | Priority | |-|-|-| | Create Root | ✅ | 🔥 | | Create Proof | ⏰ | 🔥 | | Verify Proof | ⏰ | 🔥 | | Support OpenZeppelin | ⏰ | 🔥 | | Compatible with MerkleTreeJs | ⏰ | 🔥 | | Use any Hash function | ⏰ | 🧐 | | Leafs of any size | ⏰ | 🧐 |

Contributing

License

MIT