Skip to content

Commit 9b59cba

Browse files
committed
Simplify init-chain script
1 parent fed0d7d commit 9b59cba

File tree

1 file changed

+20
-19
lines changed

1 file changed

+20
-19
lines changed

docker/02-init-chain.sh

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,19 @@ ${BB} rm -rf data/deployments
1616
# has geth as dependency
1717
$DC up deploy-contracts
1818

19+
# setup chain-seed
1920
$DC run --rm --no-deps chain-seed init \
2021
--root /chain \
2122
--blocktime 1 \
2223
--listen-address tcp://0.0.0.0:${TM_RPC_PORT} \
2324
--role seed
2425

25-
for num in 0 1 2 3; do
26+
seed_node=$(cat data/chain-seed/config/node_key.json.id)@chain-seed:${TM_P2P_PORT}
27+
28+
${BB} sed -i "/^moniker/c\moniker = \"chain-seed\"" data/chain-seed/config/config.toml
29+
30+
# configure validators and keypers 0-3
31+
for num in {0..3}; do
2632
validator_cmd=chain-$num-validator
2733

2834
$DC run --rm --no-deps ${validator_cmd} init \
@@ -32,31 +38,26 @@ for num in 0 1 2 3; do
3238
--listen-address tcp://0.0.0.0:${TM_RPC_PORT} \
3339
--role validator
3440

35-
${BB} sed -i "/ValidatorPublicKey/c\ValidatorPublicKey = \"$(cat data/${validator_cmd}/config/priv_validator_pubkey.hex)\"" /config/keyper-${num}.toml
41+
validator_id=$(cat data/${validator_cmd}/config/node_key.json.id)
42+
validator_node=${validator_id}@${validator_cmd}:${TM_P2P_PORT}
43+
validator_config_path=data/${validator_cmd}/config/config.toml
3644

45+
# share genesis
3746
if [ $num -eq 0 ]; then
38-
for destination in data/chain-seed/config/ data/chain-{1..3}-validator/config/ ; do
47+
for destination in data/chain-seed/config/ data/chain-{1..3}-validator/config/; do
3948
${BB} cp -v data/chain-0-validator/config/genesis.json "${destination}"
4049
done
4150
fi
42-
done
4351

44-
seed_node=$(cat data/chain-seed/config/node_key.json.id)@chain-seed:${TM_P2P_PORT}
45-
validator_0_node=$(cat data/chain-0-validator/config/node_key.json.id)@chain-0-validator:${TM_P2P_PORT}
46-
47-
${BB} sed -i "/^moniker/c\moniker = \"chain-seed\"" data/chain-seed/config/config.toml
48-
49-
for num in {0..3}; do
50-
validator_cmd=chain-$num-validator
51-
52-
validator_id=$(cat data/${validator_cmd}/config/node_key.json.id)
53-
validator_node=${validator_id}@${validator_cmd}:${TM_P2P_PORT}
52+
# set validator publickey for keyper
53+
${BB} sed -i "/ValidatorPublicKey/c\ValidatorPublicKey = \"$(cat data/${validator_cmd}/config/priv_validator_pubkey.hex)\"" /config/keyper-${num}.toml
5454

55-
# set seed node for validator
56-
${BB} sed -i "/^bootstrap-peers =/c\bootstrap-peers = \"${validator_0_node}\"" data/${validator_cmd}/config/config.toml
57-
${BB} sed -i "/^external-address =/c\external-address = \"${validator_cmd}:${TM_P2P_PORT}\"" data/${validator_cmd}/config/config.toml
58-
${BB} sed -i "/^pex/c\pex = true" data/${validator_cmd}/config/config.toml
59-
${BB} sed -i "/^moniker/c\moniker = \"${validator_cmd}\"" data/${validator_cmd}/config/config.toml
55+
# set seed node for chain bootstrap
56+
${BB} sed -i "/^bootstrap-peers =/c\bootstrap-peers = \"${seed_node}\"" "${validator_config_path}"
57+
# fix external address for docker internal communication
58+
${BB} sed -i "/^external-address =/c\external-address = \"${validator_cmd}:${TM_P2P_PORT}\"" "${validator_config_path}"
59+
# give a nice name
60+
${BB} sed -i "/^moniker/c\moniker = \"${validator_cmd}\"" "${validator_config_path}"
6061

6162
done
6263

0 commit comments

Comments
 (0)