#block-index #block-height #arweave #block-header #data #block-hash #tx-root

arweave_rs_indexes

包含用于在 arweave_rs 中进行操作的索引(缓存的 Arweave 数据)

1 个不稳定版本

0.1.0 2024 年 2 月 14 日

#5 in #arweave


用于 arweave_rs_validator

MIT/Apache

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,对于 poapoa2 证明。这对于证明块中的数据是否属于交易至关重要。

BlockIndexScraper

为了初始化 BlockIndex,此包包含一个刮取器模块,它连接到 Arweave 对等节点并查询块索引。Arweave 对等节点提供专门用于此任务的端点。

/block_index/{start_block_height}/{end_block_height}

启动时,BlockIndex 将尝试连接到网络并使用更新的块索引数据更新其本地缓存。本地缓存持久化到磁盘上的 ./data/index.dat,并将随时间积累。这消除了每次使用 BlockIndex 时都需要整个索引的需求。

依赖项

~13–30MB
~489K SLoC