3个版本 (破坏性)

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

#13 in #fold

Download history 70/week @ 2024-03-11 22/week @ 2024-03-18 16/week @ 2024-03-25 79/week @ 2024-04-01 28/week @ 2024-04-08 77/week @ 2024-04-15 3/week @ 2024-04-22 9/week @ 2024-05-06 19/week @ 2024-05-13 41/week @ 2024-05-20 43/week @ 2024-06-03 21/week @ 2024-06-10 16/week @ 2024-06-17 10/week @ 2024-06-24

90 每月下载量
eth-state-server-lib 中使用

自定义许可

125KB
2.5K SLoC

State Fold Picture

状态折叠

一组库,包含通过任何以太坊JSON-RPC API提供程序访问Ethereum区块链上的任意位置自定义状态的GRPC服务器和客户端。

描述

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

状态折叠服务器库 有读取 状态 的方法以及类似的读取 的方法。您可以批量读取并追溯到历史,也可以 订阅 接收新 状态,或类似地 ,当它们添加到区块链上时。

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

开发人员还定义了读取 状态同步折叠 的行为,其中 sync 表示基于硬编码的 初始状态 计算状态,而 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 许可。

依赖关系

~25–45MB
~714K SLoC