4 个版本 (2 个稳定版)

2.0.0 2021年4月19日
1.0.0 2021年2月3日
0.1.1 2020年12月11日
0.1.0 2020年12月3日

#10#sharded

Download history 22/week @ 2024-03-29 6/week @ 2024-04-05

每月下载量 62 次
用于 forest_actor

MIT/Apache 许可

175KB
4K SLoC

作为 rust IPLD 数据结构使用的 HAMT 包

数据结构参考

基于 @dignifiedquire 在此处开始的工作实现。此实现与 rust HashMap 接口非常接近,但代价是保存多余的值到数据库,并需要使用 unsafe 代码从底层存储更新缓存,以及丢弃任何操作中出现的错误。现有函数签名基于此,但重构以更接近规范并匹配必要的实现。

Hamt 是一种数据结构,模仿了具有分片、持久化和按 Cid 可索引特性的 HashMap。Hamt 支持可变位宽,以调整树在每个高度上可能存在的指针数量。Hamt 可以在任何时候修改,但只有在调用 flush 时,底层值才会持久化到存储。

依赖

~5.5MB
~111K SLoC