
# Rust Accumulators
[](https://github.com/HerodotusDev/rust-mmr/actions/workflows/ci.yml)
# Quick Start
Add dependency on `Cargo.toml`
```rust
accumulators = { version = "0.5", features = ["all"] }
```
# Development
Test : `cargo make test`
Bench : `cargo make bench`
## Accumulators
### - [MMR](./src/mmr/README.md)
#### Requires: `features = ["mmr"]`
A Rust implementation of a Merkle Mountain Range (MMR) accumulator. With extensions.
[MMR's README.md](./src/mmr/README.md)
### - [Incremental Merkle Tree](./src/merkle_tree/README.md)
#### Requires: `features = ["incremental_merkle_tree"]`
A Rust implementation of an Incremental Merkle Tree accumulator.
[Incremental Merkle Tree's README.md](./src/merkle_tree/README.md)
## Utils
### Hashers:
Hashing functions used for hashing inside accumulators.
- keccak: `features = ["keccak"]`
- poseidon: `features = ["poseidon"]`
- pedersen: `features = ["pedersen"]`
- blake: `features = ["blake"]`
### Stores:
Key value stores used for storing the accumulator data.
- memory: `features = ["memory"]`
- sqlite: `features = ["sqlite"]`
## Reference
- [accumulators - CoreMMR](https://github.com/HerodotusDev/accumulators)
- [cairo_lib - MMR](https://github.com/HerodotusDev/cairo-lib/tree/main/src/data_structures)
## License
`accumulators` is licensed under the [GNU General Public License v3.0](./LICENSE).
---
Herodotus Dev Ltd - 2024