3 个版本 (破坏性更新)

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

#16 in #historical

Download history 32/week @ 2024-04-06 48/week @ 2024-04-13 17/week @ 2024-04-20 4/week @ 2024-05-11 23/week @ 2024-05-18 2/week @ 2024-05-25 31/week @ 2024-06-01 3/week @ 2024-06-08 3/week @ 2024-06-15 5/week @ 2024-06-22 34/week @ 2024-06-29 44/week @ 2024-07-06 3/week @ 2024-07-13 5/week @ 2024-07-20

每月下载量 86

自定义许可证

165KB
3.5K SLoC

State Fold Picture

State Fold

一组库,包括用于通过任何以太坊 JSON-RPC API 提供程序读取自定义定义状态的 GRPC 服务器和客户端,可在以太坊区块链上的任何位置进行读取。

描述

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

State Fold 服务器库 提供了 读取状态 的方法和类似的方法来 读取块。您可以批量读取并回溯历史,也可以 订阅 以接收新添加到区块链上的 状态,或类似地

状态 的结构定义由使用此库的开发者决定。类型定义一直传播到服务器和客户端库,即 API 架构。这种方法的构思采用了 DRY 态度。这意味着我们只想让您写一次类型,然后使一切通用,这样您就可以得到服务器而无需额外努力。

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

要求

安装

将一个或多个 State Fold 软件包添加到您的 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" }

使用方法

本地开发环境

构建所有软件包的所有目标

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

运行所有测试

cargo test

格式化代码

cargo fmt --all

文档

许可证

该库遵循Apache-2.0许可。

依赖项

~27–44MB
~741K SLoC