1 个不稳定版本
0.1.0 | 2024 年 2 月 14 日 |
---|
#5 in #arweave
59KB
970 行
此库包包含与 Arweave 块验证相关的各种索引(查找表)的实现。
BlockIndex
第一个索引是 BlockIndex
,它按块高度存储一个 BlockIndexItems
列表。
pub struct BlockIndexItem {
pub block_hash: H384, // 48 bytes
pub weave_size: u128, // 16 bytes
pub tx_root: H256, // 32 bytes
}
这些 BlockIndexItems
允许验证器查找块头中提供的任何块提供的 tx_root
,对于 poa
或 poa2
证明。这对于证明块中的数据是否属于交易至关重要。
BlockIndexScraper
为了初始化 BlockIndex
,此包包含一个刮取器模块,它连接到 Arweave 对等节点并查询块索引。Arweave 对等节点提供专门用于此任务的端点。
/block_index/{start_block_height}/{end_block_height}
启动时,BlockIndex
将尝试连接到网络并使用更新的块索引数据更新其本地缓存。本地缓存持久化到磁盘上的 ./data/index.dat
,并将随时间积累。这消除了每次使用 BlockIndex
时都需要整个索引的需求。
依赖项
~13–30MB
~489K SLoC