#zcash #tree #mmr #history #node #append #length

zcash_history

Library for Zcash blockchain history tools

4 releases (breaking)

0.4.0 Mar 1, 2024
0.3.0 May 11, 2022
0.2.0 Mar 13, 2020
0.0.1 Mar 4, 2020

#5 in #mmr

Download history 1981/week @ 2024-11-15 2131/week @ 2024-11-22 2204/week @ 2024-11-29 2216/week @ 2024-12-06 1853/week @ 2024-12-13 1042/week @ 2024-12-20 934/week @ 2024-12-27 1770/week @ 2025-01-03 3272/week @ 2025-01-10 3190/week @ 2025-01-17 4683/week @ 2025-01-24 3861/week @ 2025-01-31 4889/week @ 2025-02-07 3124/week @ 2025-02-14 3501/week @ 2025-02-21 4629/week @ 2025-02-28

17,147 downloads per month
Used in 11 crates (via zebra-chain)

MIT/Apache

48KB
916 lines

zcash_history

Special implementation of Merkle mountain ranges (MMR) for Zcash!

Build Status

The main design goals of this MMR implementation are

  • Allow zero-cache and avoid db callbacks. As it is implemented, calling side must just smartly pre-load MMR nodes from the database (about log2(tree length) for append, twice as much for deletion).

  • Reuse as much logic between rust and c++ clients and place it here and librustzcash.

  • Close to zero memory consumption.

License

zcash_history is distributed under the terms of both the MIT license and the Apache License (Version 2.0), at your choice.

See LICENSE-APACHE, and LICENSE-MIT for details.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in zcash_history by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~0.5–1.1MB
~20K SLoC