#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 1880/week @ 2024-10-02 964/week @ 2024-10-09 858/week @ 2024-10-16 1191/week @ 2024-10-23 1406/week @ 2024-10-30 1769/week @ 2024-11-06 2414/week @ 2024-11-13 2092/week @ 2024-11-20 1778/week @ 2024-11-27 2075/week @ 2024-12-04 2192/week @ 2024-12-11 1573/week @ 2024-12-18 701/week @ 2024-12-25 1490/week @ 2025-01-01 2384/week @ 2025-01-08 3540/week @ 2025-01-15

8,204 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