#zcash #blockchain #mmr #tree #append #log2

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

#8 in #mmr

Download history 4165/week @ 2025-09-18 4082/week @ 2025-09-25 6354/week @ 2025-10-02 5699/week @ 2025-10-09 5062/week @ 2025-10-16 5489/week @ 2025-10-23 4524/week @ 2025-10-30 3521/week @ 2025-11-06 3701/week @ 2025-11-13 3412/week @ 2025-11-20 3744/week @ 2025-11-27 4112/week @ 2025-12-04 2605/week @ 2025-12-11 1383/week @ 2025-12-18 805/week @ 2025-12-25 1120/week @ 2026-01-01

6,585 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