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日

#16 in #fold

Download history 53/week @ 2024-03-14 30/week @ 2024-03-21 36/week @ 2024-03-28 49/week @ 2024-04-04 63/week @ 2024-04-11 61/week @ 2024-04-18 19/week @ 2024-04-25 17/week @ 2024-05-02 38/week @ 2024-05-09 40/week @ 2024-05-16 31/week @ 2024-05-23 48/week @ 2024-05-30 28/week @ 2024-06-06 33/week @ 2024-06-13 33/week @ 2024-06-20 9/week @ 2024-06-27

124 每月下载量
5 crates 中使用

自定义许可

18KB
335

State Fold Picture

状态折叠

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

描述

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

状态折叠服务器库 提供了读取 状态 的方法和类似的用于读取 区块 的方法。您可以批量读取并查看历史记录,还可以订阅以接收新 状态 或类似地接收新 区块

状态 的结构定义由使用此库的开发者决定。类型定义会一直传播到服务器和客户端库,即API模式。这种方法的设计采用DRY态度。这意味着我们只想让您编写一次类型,然后使一切通用,这样您就可以不费额外力气就获得服务器。

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

依赖项

约4-23MB
约308K SLoC