4个版本 (破坏性更新)
0.4.0 | 2023年6月29日 |
---|---|
0.3.0 | 2023年6月29日 |
0.2.5 | 2023年5月1日 |
0.1.0 | 2023年3月30日 |
#9 在 #rosetta 中排名
每月 99 次下载
在 10 个 crate 中使用 (直接使用 4)
10KB
177 行
Rosetta SDK 文档
Rosetta 是一套用于区块链集成的工具,其目标是使区块链集成更简单、更快、更可靠。此存储库为Analog的编年史提供了一个框架 —— 由时间节点运营商托管的特殊节点 —— 以符合Analog网络协议的方式简化它们与Analog连接的链的交互。
仓库结构
此存储库包含以下模块
rosetta-core
. 为服务器和客户端crate提供共享特性和定义。rosetta-server
. 这是Rosetta服务器的通用实现。Rosetta服务器是一个独立的服务器,任何Analog支持的链上的连接器都可以连接到它并监听设置中指定的端口。rosetta-client
. 这是一个与Rosetta服务器交互的标准客户端。rosetta-types
. 它包含客户端和服务器使用的请求和响应struct。它最初使用openapi-generator自动生成。rosetta-crypto
. 它包含rosetta-client使用的加密原语。rosetta-wallet
. 这是一个使用rosetta-client构建的命令行界面(CLI)。rosetta-cli
. 这是一个使用rosetta-client构建的CLI。rosetta-docker
. 这是一个通用的Rosetta服务器测试基础设施。chains
. 这些是特定链的客户端/服务器组件。
入门
要开始使用Rosetta SDK,请确保您已安装以下依赖项
- rust
- Docker的最新版本
- solc 0.8.20+,建议使用svm安装: https://github.com/alloy-rs/svm-rs
- dprint:
cargo install --locked dprint
- cargo-deny:
cargo install --locked cargo-deny
构建
$ cargo build -p rosetta-client
代码检查
$ cargo +nightly fmt --all -- --check
$ cargo clippy --locked --workspace --examples --tests --all-features -- \
-Dwarnings \
-Dclippy::unwrap_used \
-Dclippy::expect_used \
-Dclippy::nursery \
-Dclippy::pedantic \
-Aclippy::module_name_repetitions
$ dprint check
$ cargo deny check
运行单元测试
$ cargo test --workspace --all-features \
--exclude rosetta-testing-arbitrum \
--exclude rosetta-server-astar \
--exclude rosetta-server-ethereum \
--exclude rosetta-server-polkadot \
--exclude rosetta-client
运行集成测试
# Pull docker images
./scripts/pull_nodes.sh
# Run tests
$ cargo test \
-p rosetta-server-astar \
-p rosetta-server-ethereum \
-p rosetta-server-polkadot \
-p rosetta-client
运行Arbitrum集成测试
# Setup arbitrum local testnet
git clone -b release --depth=1 --no-tags --recurse-submodules https://github.com/ManojJiSharma/nitro-testnode.git
cd nitro-testnode
./test-node.bash --detach
cd ..
# Run tests
cargo test --locked -p rosetta-testing-arbitrum
贡献
您可以通过多种方式为这个仓库做出贡献,包括
依赖
~10MB
~209K SLoC