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

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 943/week @ 2024-10-14 912/week @ 2024-10-21 1490/week @ 2024-10-28 1293/week @ 2024-11-04 2349/week @ 2024-11-11 2196/week @ 2024-11-18 1948/week @ 2024-11-25 2179/week @ 2024-12-02 2221/week @ 2024-12-09 1891/week @ 2024-12-16 759/week @ 2024-12-23 1062/week @ 2024-12-30 1709/week @ 2025-01-06 3869/week @ 2025-01-13 3296/week @ 2025-01-20 4423/week @ 2025-01-27

13,441 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–1MB
~20K SLoC