3 个版本 (破坏性更新)

0.9.0 2023 年 9 月 15 日
0.8.0 2023 年 9 月 11 日
0.7.1 2023 年 8 月 11 日

#50 in #latest

Download history 72/week @ 2024-03-11 29/week @ 2024-03-18 23/week @ 2024-03-25 83/week @ 2024-04-01 32/week @ 2024-04-08 81/week @ 2024-04-15 9/week @ 2024-04-22 2/week @ 2024-04-29 14/week @ 2024-05-06 23/week @ 2024-05-13 45/week @ 2024-05-20 1/week @ 2024-05-27 46/week @ 2024-06-03 25/week @ 2024-06-10 19/week @ 2024-06-17 15/week @ 2024-06-24

每月下载 105 次
用于 2 crates

自定义许可

51KB
1K SLoC

State Fold Picture

State Fold

一组库,包含用于通过任何 Ethereum JSON-RPC API 提供商读取自定义定义状态的 GRPC 服务器和客户端。

描述

无论您是想访问历史 区块 / 状态,还是订阅获取最新添加到网络中的 区块 / 状态,这两种用例在设计 State Fold 时都得到了考虑。

State Fold 服务器库 提供了 读取状态 的方法以及类似的 读取区块 方法。您可以批量读取并回溯历史,也可以 订阅 以接收新 状态 或类似 区块,随着它们在区块链上的添加而接收。

状态的架构定义取决于使用此库的开发者。类型定义一直传播到服务器和客户端库,即 API 架构。这种方法的采用遵循 DRY 态度。这意味着我们希望您只编写一次类型,并使一切通用,以便您无需额外努力即可获得服务器。

开发者还定义了读取 状态同步折叠 的行为,其中 sync 表示根据硬编码的 初始状态 计算状态,而 fold 表示根据 先前状态 计算状态。

要求

安装

将一个或多个 State Fold crates 添加到您的 Cargo.toml,如下所示

[dependencies]
# Common crate for all other crates
eth-state-fold-types = { version = "0.7" }

# Libraries for state-fold core logic
eth-block-history = { version = "0.7" }
eth-state-fold = { version = "0.7" }

# Common crate for server/client
eth-state-server-common = { version = "0.7", features = ["server"] }

# Libraries for state-fold GRPC interfaces
eth-state-server-lib = { version = "0.7" }
eth-state-client-lib = { version = "0.7" }

用法

本地开发环境

构建所有 crate 的所有目标

cargo build --all-targets --all-features

运行所有测试

cargo test

格式化代码

cargo fmt --all

文档

许可

此库根据 Apache-2.0 许可。

依赖项

~25–45MB
~715K SLoC