Cosmos SDK节点启动及基础交易创建问题求助
解决Cosmos SDK节点启动问题并创建基础交易
一、修复镜像构建与节点启动错误
1. 切换到指定版本分支
先确保代码处于目标版本分支,执行:
git checkout v2.0.0-beta.1
2. 正确构建simd二进制与Docker镜像
你之前直接执行docker build失败,是因为根目录Dockerfile依赖本地预构建的simd二进制文件。正确步骤:
- 先在本地构建simd二进制:
执行完成后,make buildbuild/目录会生成simd可执行文件。 - 构建Docker镜像:
这会自动构建标签为make docker-build VERSION=v2.0.0-beta.1cosmos-sdk-simd:v2.0.0-beta.1的镜像,无需手动编写docker build命令。
3. 启动节点(两种方式)
方式一:本地二进制启动(推荐,易排查问题)
# 初始化节点 ./build/simd init my-test-node --chain-id test-chain-xyz # 创建钱包账户 ./build/simd keys add my-main-account # 给创世账户分配代币 ./build/simd add-genesis-account my-main-account 100000000stake # 创建创世交易 ./build/simd gentx my-main-account 50000000stake --chain-id test-chain-xyz # 收集创世交易 ./build/simd collect-gentxs # 启动节点 ./build/simd start
方式二:Docker Compose启动
修改docker-compose.yml中的镜像字段为你刚构建的标签(如cosmos-sdk-simd:v2.0.0-beta.1),然后执行:
docker-compose up
二、创建基础转账交易
节点正常运行后,按以下步骤操作:
- 查看主账户余额:
./build/simd query bank balances $(./build/simd keys show my-main-account -a)
- 创建接收账户:
./build/simd keys add recipient-account
- 发起转账交易:
./build/simd tx bank send my-main-account $(./build/simd keys show recipient-account -a) 10000stake --chain-id test-chain-xyz --gas auto --fees 100stake
执行后输入钱包密码确认,会生成交易哈希。
- 查询交易状态:
./build/simd query tx [替换为你的交易哈希]
内容的提问来源于stack exchange,提问作者pigfox
相关产品推荐
相关产品推荐

