33次发布 (19次破坏)
0.23.0 | 2023年5月19日 |
---|---|
0.22.1 | 2022年9月16日 |
0.22.0 | 2022年6月21日 |
0.21.0 | 2020年7月17日 |
0.7.1 | 2019年7月1日 |
#737 in 加密
5,857 每月下载量
在 46 个crate中使用(直接使用11个)
255KB
5.5K SLoC
merkle
merkle 是一个轻量级的Rust实现,用于默克尔树。
功能
- 外部依赖无关
std::hash::Hasher
兼容性- 标准类型哈希器实现
#[derive(Hashable)]
支持简单结构- 可定制的默克尔叶/节点哈希算法
- 支持自定义哈希类型(例如 [u8; 16], [u64; 4], [u128; 2], 结构体)
- 可定制的哈希算法
- 线性内存布局,无堆节点
- 可从迭代器、对象或哈希构建
- 支持证书透明度风格的默克尔哈希
- 包含SPV支持(通过证明类型)
- 支持2的幂次方度数的默克尔树(仅限)
- 支持复合默克尔树(一棵默克尔树的树)
- 支持复合-复合默克尔树(复合默克尔树的树)
文档
文档在此处可用。
示例
最相关的示例位于以下文件中
test_common.rs
:自定义哈希示例 xor128,其他共享工具test_xor128.rs
:对库功能的全面测试proof.rs
:包含跨2的幂次方度数树的证明实现和测试
构建和测试
# Run tests in release mode
cargo test --release --all
# Run ignored tests in release mode
cargo test --release --all -- --ignored
错误报告
请将错误报告为拉取请求或问题跟踪器中的问题。 merkle 有一个 全面披露 的漏洞政策。 请勿试图将此代码中的任何安全漏洞私下报告给任何人。
许可证
查看LICENSE。
依赖关系
~4–14MB
~173K SLoC