#cosmos #node #substrate #abci #pallet #chain #cosmos-sdk

pallet-abci

Cosmos ABCI 库,用于与 Cosmos 应用程序通信

3 个版本

0.0.3 2020 年 11 月 25 日
0.0.2 2020 年 11 月 23 日
0.0.1 2020 年 11 月 16 日

#abci 中排名 7


pallet-cosmos-abci 中使用

Apache-2.0

34KB
909

带有 Cosmos ABCI 模块的 Substrate 节点

一个基于 FRAME 的新 Substrate 节点,具有 Cosmos ABCI 功能。

文档

此项目的文档在 此处

构建

安装 Rust

curl https://sh.rustup.rs -sSf | sh

初始化您的 Wasm 构建环境

./scripts/init.sh

构建 Wasm 和本地代码

cargo build

运行

在运行 Substrate 节点之前,您应该构建并启动 Cosmos 节点。转到我们的 cosmos-sdk 分支,切换到 feature/add_nameservice 分支,然后只需按照 说明 操作。

要本地运行节点,您需要指定 cosmos-abci 模块的环境变量。

export ABCI_SERVER_URL=tcp://127.0.0.1:26658
export ABCI_GENESIS_STATE_PATH=$HOME/.nsd/config/genesis.json
# or
export ABCI_GENESIS_STATE=$(cat $HOME/.nsd/config/genesis.json)

在更新 genesis.json 文件后,应指定以下环境变量

export ABCI_GENESIS_STATE=$(cat $HOME/.nsd/config/genesis.json)

测试

模块测试

要从本地运行测试,请使用以下命令

# pallet-cosmos-abci
cargo test --test pallet_abci_test
# abci
cargo test --test abci_integration_test
cargo test --test abci_unit_test

sh integration tests

转到 scripts/integration_tests 目录

单节点开发链

清除任何现有的开发链状态

./target/release/node-template purge-chain --dev

使用以下命令启动开发链

./target/release/node-template --dev

运行节点时,可以通过设置以下环境变量来显示详细日志:RUST_LOG=debug RUST_BACKTRACE=1 cargo run -- --dev

在 Docker 中运行

首先,安装 DockerDocker Compose

然后运行以下命令以启动单节点开发链。有时您还需要在 Docker 设置中共享 .maintain 文件夹的权限。

./scripts/docker_run.sh

或者

docker-compose up -d

CosmosRPC REST 调用

  • 请求CosmosRPC API: { "jsonrpc": "2.0", "method": <method_name>, "id": 0, "params": <method_params> }

依赖项

~23MB
~493K SLoC