4 个版本 (2 个重大变更)

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

#15 in #fold

Download history 46/week @ 2024-03-14 16/week @ 2024-03-21 21/week @ 2024-03-28 33/week @ 2024-04-04 45/week @ 2024-04-11 42/week @ 2024-04-18 3/week @ 2024-04-25 10/week @ 2024-05-09 21/week @ 2024-05-16 13/week @ 2024-05-23 30/week @ 2024-05-30 14/week @ 2024-06-06 8/week @ 2024-06-13 15/week @ 2024-06-20 4/week @ 2024-06-27

每月 58 次下载
用于 2 crates

自定义许可

38KB
738

State Fold Picture

State Fold

一组库,包括用于通过任何 Ethereum JSON-RPC API 提供商读取 Ethereum 区块链上任何位置的定制状态的 GRPC 服务器和客户端。

描述

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

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

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

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

需求

安装

将一个或多个 State Fold crate 添加到您的 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 许可。

依赖项

~10MB
~179K SLoC