#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

#4 in #mmr

Download history 2275/week @ 2024-07-28 2312/week @ 2024-08-04 1553/week @ 2024-08-11 1951/week @ 2024-08-18 2482/week @ 2024-08-25 1530/week @ 2024-09-01 1246/week @ 2024-09-08 1084/week @ 2024-09-15 2020/week @ 2024-09-22 1933/week @ 2024-09-29 1495/week @ 2024-10-06 925/week @ 2024-10-13 893/week @ 2024-10-20 1508/week @ 2024-10-27 1256/week @ 2024-11-03 2371/week @ 2024-11-10

6,086 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
~21K SLoC