微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

设置创世交易时出错——我做错了什么?

如何解决设置创世交易时出错——我做错了什么?

我正在尝试通过此处的“运行节点”教程:https://github.com/cosmos/cosmos-sdk/blob/master/docs/run-node/run-node.md

不过我似乎有一些问题,创世交易无法设置验证器,因此验证器集为空并且应用程序停止。我错过了什么吗?

我正在运行 script.sh 并在 error.log 中收到错误消息

simd versiongoz-phase-1-1119-g8572a84eb

script.sh

#!/bin/bash
set -eu

PATH=build:$PATH

MONIKER=foobar

simd init $MONIKER --chain-id my-test-chain

simd keys add my_validator --keyring-backend test

# Put the generated address in a variable for later use.
MY_VALIDATOR_ADDRESS=$(simd keys show my_validator -a --keyring-backend test)

simd add-genesis-account $MY_VALIDATOR_ADDRESS 100000000stake

# Create a gentx.
simd gentx my_validator 100000stake --chain-id my-test-chain --keyring-backend test

# Add the gentx to the genesis file.
simd collect-gentxs

simd start

error.log

5:09PM INF starting ABCI with Tendermint
5:09PM INF Starting multiAppConn service impl={"Logger":{}} module=proxy
5:09PM INF Starting localClient service connection=query impl="marshaling error: json: unsupported type: abcicli.Callback" module=abci-client
5:09PM INF Starting localClient service connection=snapshot impl="marshaling error: json: unsupported type: abcicli.Callback" module=abci-client
5:09PM INF Starting localClient service connection=mempool impl="marshaling error: json: unsupported type: abcicli.Callback" module=abci-client
5:09PM INF Starting localClient service connection=consensus impl="marshaling error: json: unsupported type: abcicli.Callback" module=abci-client
5:09PM INF Starting EventBus service impl={"Logger":{}} module=events
5:09PM INF Starting PubSub service impl={"Logger":{}} module=pubsub
5:09PM INF Starting IndexerService service impl={"Logger":{}} module=txindex
5:09PM INF ABCI Handshake App Info hash= height=0 module=consensus protocol-version=0 software-version=
5:09PM INF ABCI Replay Blocks appHeight=0 module=consensus stateHeight=0 storeHeight=0
5:09PM INF asserting crisis invariants inv=0/11 module=x/crisis
5:09PM INF asserting crisis invariants inv=1/11 module=x/crisis
5:09PM INF asserting crisis invariants inv=2/11 module=x/crisis
5:09PM INF asserting crisis invariants inv=3/11 module=x/crisis
5:09PM INF asserting crisis invariants inv=4/11 module=x/crisis
5:09PM INF asserting crisis invariants inv=5/11 module=x/crisis
5:09PM INF asserting crisis invariants inv=6/11 module=x/crisis
5:09PM INF asserting crisis invariants inv=7/11 module=x/crisis
5:09PM INF asserting crisis invariants inv=8/11 module=x/crisis
5:09PM INF asserting crisis invariants inv=9/11 module=x/crisis
5:09PM INF asserting crisis invariants inv=10/11 module=x/crisis
5:09PM INF asserted all invariants duration=0.844065 height=0 module=x/crisis
5:09PM INF created new capability module=ibc name=ports/transfer
5:09PM INF port binded module=x/ibc/port port=transfer
5:09PM INF claimed capability capability=1 module=transfer name=ports/transfer
Error: error during handshake: error on replay: validator set is nil in genesis and still empty after InitChain
Usage:
  simd start [flags]

Flags:
      --abci string                                     specify abci transport (socket | grpc) (default "socket")
... [other usage info]

解决方法

我自己尝试过,看到了同样的错误,但能够通过将 simd gentx 命令中的股份数量增加到 100000000stake 来修复它。现在它的工作原理如下:

#!/bin/bash
set -eu

PATH=build:$PATH

MONIKER=foobar

simd init $MONIKER --chain-id my-test-chain

simd keys add my_validator --keyring-backend test

# Put the generated address in a variable for later use.
MY_VALIDATOR_ADDRESS=$(simd keys show my_validator -a --keyring-backend test)

simd add-genesis-account $MY_VALIDATOR_ADDRESS 100000000stake

# Create a gentx.
simd gentx my_validator 100000000stake --chain-id my-test-chain --keyring-backend test

# Add the gentx to the genesis file.
simd collect-gentxs

# simd start

您从哪里获得 script.sh 文件?我没有在 https://github.com/cosmos/cosmos-sdk/blob/master/docs/run-node/run-node.md

里面看到它 ,

okwme 的回答是正确的。但是,如果您想使用该帐户玩更多游戏,也应该增加初始余额(使用 simd add-genesis-account 设置)。在本教程中,稍后该帐户会向另一个帐户发送一些 stake。但使用上述脚本,$MY_VALIDATOR_ADDRESS 中的全部金额都已委托,因此无法发送。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?