#merkle-tree #state #leave #append #bridge #linear #marked

bridgetree

一个高效的空间 Merkle 树,适用于线性追加,并具有标记叶子的见证、检查点与状态恢复

4 个版本 (重大变更)

新增 0.5.0 2024 年 8 月 12 日
0.4.0 2023 年 9 月 8 日
0.3.0 2023 年 6 月 6 日
0.2.1 2023 年 6 月 6 日
0.1.0 2022 年 7 月 22 日

#102数据结构

Download history 2286/week @ 2024-04-24 3661/week @ 2024-05-01 1880/week @ 2024-05-08 2402/week @ 2024-05-15 1213/week @ 2024-05-22 730/week @ 2024-05-29 1156/week @ 2024-06-05 1903/week @ 2024-06-12 1458/week @ 2024-06-19 1078/week @ 2024-06-26 700/week @ 2024-07-03 1283/week @ 2024-07-10 1625/week @ 2024-07-17 1707/week @ 2024-07-24 1530/week @ 2024-07-31 1333/week @ 2024-08-07

6,470 每月下载量
12 个crate中使用 (直接使用 2 个)

MIT/Apache

190KB
4K SLoC

bridgetree

这是一个 Rust crate,它提供了一个只追加 Merkle 树结构的实现。Merkle 树的各个叶子可以标记,以便在向树中追加更多节点时保留标记叶子的见证,但不需要保留以维护这些见证的特定叶子或节点数据,以提高空间效率。该数据结构还支持对树状态的检查点记录,这样可以将树重置到之前记录的检查点状态,最多可以记录固定数量的检查点。

该crate还支持使用“桥梁”,这些桥梁包含最少的数据量,以推进标记叶子数据的见证,直到最近的检查点或树的最新状态,无需逐个追加中间叶子,前提是外部源计算了所需状态之间的桥梁。树的内部状态表示为一组此类桥梁,并且该数据结构支持桥梁的融合和拆分。

文档

许可证

许可协议为以下之一

任选其一。

贡献

除非您明确说明,否则根据 Apache-2.0 许可证定义的,您有意提交的任何贡献,将按上述方式双许可,无需附加条款或条件。

依赖项

~33–660KB
~12K SLoC