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



我正在尝试通过"运行一个节点"教程在这里:https://github.com/cosmos/cosmos-sdk/blob/master/docs/run-node/run-node.md

我似乎有一些问题,创世纪交易没有设法设置验证器,所以验证器设置为空,应用程序停止。我错过什么了吗?

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

simd version:goz-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

里面看到它

ok的答案是正确的。但是如果你想玩更多的账户,初始余额(simd add-genesis-account设置)也应该增加。在本教程中,稍后该帐户将一些stake发送到另一个帐户。但是使用上面的脚本,$MY_VALIDATOR_ADDRESS中的全部金额是委托的,所以一个都不能发送。

最新更新