Skip to content

Commit c888682

Browse files
committed
Remove sentry nodes from docker setup
Currently all validators connect to validator-0 instead of bootstrap (see `02-init-chain.sh:56`)
1 parent f1b9a8f commit c888682

File tree

8 files changed

+42
-116
lines changed

8 files changed

+42
-116
lines changed

docker/02-init-chain.sh

Lines changed: 17 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ source ./common.sh
44

55
$DC stop geth
66
$DC rm -f geth
7-
$DC stop chain-{0..3}-{validator,sentry} chain-seed
8-
$DC rm -f chain-{0..3}-{validator,sentry} chain-seed
7+
$DC stop chain-{0..3}-validator chain-seed
8+
$DC rm -f chain-{0..3}-validator chain-seed
99

1010
${BB} rm -rf data/geth
11-
${BB} rm -rf data/chain-{0..3}-{validator,sentry} data/chain-seed
12-
${BB} mkdir -p data/chain-{0..3}-{validator,sentry}/config data/chain-seed/config
13-
${BB} chmod -R a+rwX data/chain-{0..3}-{validator,sentry}/config data/chain-seed/config
11+
${BB} rm -rf data/chain-{0..3}-validator data/chain-seed
12+
${BB} mkdir -p data/chain-{0..3}-validator/config data/chain-seed/config
13+
${BB} chmod -R a+rwX data/chain-{0..3}-validator/config data/chain-seed/config
1414
${BB} rm -rf data/deployments
1515

1616
# has geth as dependency
@@ -19,56 +19,45 @@ $DC up deploy-contracts
1919
$DC run --rm --no-deps chain-seed init \
2020
--root /chain \
2121
--blocktime 1 \
22-
--listen-address tcp://127.0.0.1:${TM_RPC_PORT} \
22+
--listen-address tcp://0.0.0.0:${TM_RPC_PORT} \
2323
--role seed
2424

2525
for num in 0 1 2 3; do
2626
validator_cmd=chain-$num-validator
27-
sentry_cmd=chain-$num-sentry
2827

29-
$DC run --rm --no-deps ${sentry_cmd} init \
30-
--root /chain \
31-
--blocktime 1 \
32-
--listen-address tcp://0.0.0.0:${TM_RPC_PORT} \
33-
--role sentry
34-
35-
# TODO: check if validator can have listen-address tcp://127.0.0.1...
3628
$DC run --rm --no-deps ${validator_cmd} init \
3729
--root /chain \
3830
--genesis-keyper 0x440Dc6F164e9241F04d282215ceF2780cd0B755e \
3931
--blocktime 1 \
40-
--listen-address tcp://127.0.0.1:${TM_RPC_PORT} \
32+
--listen-address tcp://0.0.0.0:${TM_RPC_PORT} \
4133
--role validator
4234

4335
${BB} sed -i "/ValidatorPublicKey/c\ValidatorPublicKey = \"$(cat data/${validator_cmd}/config/priv_validator_pubkey.hex)\"" /config/keyper-${num}.toml
4436

4537
if [ $num -eq 0 ]; then
46-
for destination in data/chain-seed/config/ data/chain-{1..3}-validator/config/ data/chain-{0..3}-sentry/config/; do
38+
for destination in data/chain-seed/config/ data/chain-{1..3}-validator/config/ ; do
4739
${BB} cp -v data/chain-0-validator/config/genesis.json "${destination}"
4840
done
4941
fi
5042
done
5143

5244
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}
5346

54-
for num in 0 1 2 3; do
55-
sentry_cmd=chain-$num-sentry
47+
${BB} sed -i "/^moniker/c\moniker = \"chain-seed\"" data/chain-seed/config/config.toml
48+
49+
for num in {0..3}; do
5650
validator_cmd=chain-$num-validator
5751

5852
validator_id=$(cat data/${validator_cmd}/config/node_key.json.id)
5953
validator_node=${validator_id}@${validator_cmd}:${TM_P2P_PORT}
60-
sentry_node=$(cat data/${sentry_cmd}/config/node_key.json.id)@${sentry_cmd}:${TM_P2P_PORT}
6154

62-
# set seed node for sentry
63-
${BB} sed -i "/^persistent_peers =/c\persistent_peers = \"${seed_node}\"" data/${sentry_cmd}/config/config.toml
64-
# set validator node for sentry
65-
${BB} sed -i "/^private_peer_ids =/c\private_peer_ids = \"${validator_id}\"" data/${sentry_cmd}/config/config.toml
66-
${BB} sed -i "/^unconditional_peer_ids =/c\unconditional_peer_ids = \"${validator_id}\"" data/${sentry_cmd}/config/config.toml
67-
${BB} sed -i "/^external_address =/c\external_address = \"${sentry_cmd}:${TM_P2P_PORT}\"" data/${sentry_cmd}/config/config.toml
68-
69-
# set sentry node for validator
70-
${BB} sed -i "/^persistent_peers =/c\persistent_peers = \"${sentry_node}\"" data/${validator_cmd}/config/config.toml
55+
# set seed node for validator
56+
${BB} sed -i "/^bootstrap_peers =/c\bootstrap_peers = \"${validator_0_node}\"" data/${validator_cmd}/config/config.toml
7157
${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
60+
7261
done
7362

7463
$DC stop -t 30

docker/04-bootstrap.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ echo "Submitting bootstrap transaction"
77
$DC run --rm --no-deps --entrypoint /rolling-shutter chain-0-validator bootstrap \
88
--deployment-dir /deployments/dockerGeth \
99
--ethereum-url http://geth:8545 \
10-
--shuttermint-url http://chain-0-sentry:${TM_RPC_PORT} \
10+
--shuttermint-url http://chain-0-validator:${TM_RPC_PORT} \
1111
--signing-key 479968ffa5ee4c84514a477a8f15f3db0413964fd4c20b08a55fed9fed790fad

docker/05-test.sh

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,16 @@
33
source ./common.sh
44
set +ex
55

6-
echo "Testing decryption key generation"
76
EPOCH_ID=$(LC_ALL=C tr -dc 'a-f0-9' </dev/urandom | head -c64)
8-
json_body="{\"jsonrpc\": \"2.0\", \"method\": \"get_decryption_key\", \"id\": 1, \"params\": [\"1\", \"${EPOCH_ID}\"]}"
7+
EON_ID=$($DC exec db psql -U postgres -d keyper-0 -t -c 'select max(eon) from eons;' | tr -d '[:space:]')
8+
if [[ -z $EON_ID ]]; then
9+
echo "No eonId found in keyper-0 db. Did you run bootstrap?"
10+
exit 1
11+
fi
12+
json_body="{\"jsonrpc\": \"2.0\", \"method\": \"get_decryption_key\", \"id\": 1, \"params\": [\"${EON_ID}\", \"${EPOCH_ID}\"]}"
13+
echo "Testing decryption key generation for eonId ${EON_ID} and epoch ${EPOCH_ID}"
914
curl -XGET http://localhost:8754/api/v1/rpc -d "${json_body}"
10-
sleep 3
15+
sleep 5
1116
DECRYPTION_KEY_MSGS=$(${DC} logs snapshot | grep ${EPOCH_ID} | grep -c decryptionKey)
1217
if [[ $DECRYPTION_KEY_MSGS -gt 0 ]]; then
1318
echo "Decryption successful with $DECRYPTION_KEY_MSGS / 3 nodes"

docker/config.example/keyper-0.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ DeploymentDir = "./deployments/dockerGeth/"
2828
EthereumURL = "http://geth:8545/"
2929

3030
[Shuttermint]
31-
ShuttermintURL = "http://chain-0-sentry:26657"
31+
ShuttermintURL = "http://chain-0-validator:26657"
3232
ValidatorPublicKey = '720accc33c2bce1319d12b5f23f81b39a33f487e21c4a4d7ca1e1f7954a24172'
3333
EncryptionKey = 'e5c124eb4d3c13fa46532107b69b5abfa11e8aaf3a7a86d11ef370470834e076'
3434
DKGPhaseLength = 8

docker/config.example/keyper-1.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ DeploymentDir = "./deployments/dockerGeth/"
2828
EthereumURL = "http://geth:8545/"
2929

3030
[Shuttermint]
31-
ShuttermintURL = "http://chain-1-sentry:26657"
31+
ShuttermintURL = "http://chain-1-validator:26657"
3232
ValidatorPublicKey = '720accc33c2bce1319d12b5f23f81b39a33f487e21c4a4d7ca1e1f7954a24172'
3333
EncryptionKey = '8972bbbcf5b4a9eaef0030b1eff64332e7188ff4dd523314176956b5c624ca8b'
3434
DKGPhaseLength = 8

docker/config.example/keyper-2.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ DeploymentDir = "./deployments/dockerGeth/"
2727
EthereumURL = "http://geth:8545/"
2828

2929
[Shuttermint]
30-
ShuttermintURL = "http://chain-2-sentry:26657"
30+
ShuttermintURL = "http://chain-2-validator:26657"
3131
ValidatorPublicKey = '720accc33c2bce1319d12b5f23f81b39a33f487e21c4a4d7ca1e1f7954a24172'
3232
EncryptionKey = 'ee014227e5b6209682f31c967b4a21c6617a02bc5f11f644f5f54f6d613906b9'
3333
DKGPhaseLength = 8

docker/config.example/keyper-3.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ DeploymentDir = "./deployments/dockerGeth/"
2626
EthereumURL = "http://geth:8545/"
2727

2828
[Shuttermint]
29-
ShuttermintURL = "http://chain-3-sentry:26657"
29+
ShuttermintURL = "http://chain-3-validator:26657"
3030
ValidatorPublicKey = '8ad31f4e77c5092977d57e578b47dc23a86762933a4c09bcb055456805c84096'
3131
EncryptionKey = '13c24d4a50e53bdb4cf8ae328491fd10fbf1bc0118ff6adad1340fa77eaf9c3c'
3232
DKGPhaseLength = 8

docker/docker-compose.yml

Lines changed: 12 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -75,23 +75,6 @@ services:
7575
depends_on:
7676
geth:
7777
condition: service_healthy
78-
chain-0-sentry:
79-
condition: service_started
80-
logging: *logging
81-
82-
chain-0-sentry:
83-
image: snapshutter
84-
restart: always
85-
entrypoint:
86-
- /rolling-shutter
87-
- chain
88-
volumes:
89-
- ./data/chain-0-sentry:/chain
90-
- ./data/deployments:/deployments
91-
command: "--config /chain/config/config.toml"
92-
depends_on:
93-
chain-seed:
94-
condition: service_started
9578
logging: *logging
9679

9780
chain-1-validator:
@@ -107,23 +90,6 @@ services:
10790
depends_on:
10891
geth:
10992
condition: service_healthy
110-
chain-1-sentry:
111-
condition: service_started
112-
logging: *logging
113-
114-
chain-1-sentry:
115-
image: snapshutter
116-
restart: always
117-
entrypoint:
118-
- /rolling-shutter
119-
- chain
120-
volumes:
121-
- ./data/chain-1-sentry:/chain
122-
- ./data/deployments:/deployments
123-
command: "--config /chain/config/config.toml"
124-
depends_on:
125-
chain-seed:
126-
condition: service_started
12793
logging: *logging
12894

12995
chain-2-validator:
@@ -139,23 +105,6 @@ services:
139105
depends_on:
140106
geth:
141107
condition: service_healthy
142-
chain-2-sentry:
143-
condition: service_started
144-
logging: *logging
145-
146-
chain-2-sentry:
147-
image: snapshutter
148-
restart: always
149-
entrypoint:
150-
- /rolling-shutter
151-
- chain
152-
volumes:
153-
- ./data/chain-2-sentry:/chain
154-
- ./data/deployments:/deployments
155-
command: "--config /chain/config/config.toml"
156-
depends_on:
157-
chain-seed:
158-
condition: service_started
159108
logging: *logging
160109

161110
chain-3-validator:
@@ -171,23 +120,6 @@ services:
171120
depends_on:
172121
geth:
173122
condition: service_healthy
174-
chain-3-sentry:
175-
condition: service_started
176-
logging: *logging
177-
178-
chain-3-sentry:
179-
image: snapshutter
180-
restart: always
181-
entrypoint:
182-
- /rolling-shutter
183-
- chain
184-
volumes:
185-
- ./data/chain-3-sentry:/chain
186-
- ./data/deployments:/deployments
187-
command: "--config /chain/config/config.toml"
188-
depends_on:
189-
chain-seed:
190-
condition: service_started
191123
logging: *logging
192124

193125
chain-seed:
@@ -242,13 +174,13 @@ services:
242174
depends_on:
243175
db:
244176
condition: service_healthy
245-
chain-0-sentry:
177+
chain-0-validator:
246178
condition: service_started
247-
chain-1-sentry:
179+
chain-1-validator:
248180
condition: service_started
249-
chain-2-sentry:
181+
chain-2-validator:
250182
condition: service_started
251-
chain-3-sentry:
183+
chain-3-validator:
252184
condition: service_started
253185
geth:
254186
condition: service_healthy
@@ -267,13 +199,13 @@ services:
267199
depends_on:
268200
db:
269201
condition: service_healthy
270-
chain-0-sentry:
202+
chain-0-validator:
271203
condition: service_started
272-
chain-1-sentry:
204+
chain-1-validator:
273205
condition: service_started
274-
chain-2-sentry:
206+
chain-2-validator:
275207
condition: service_started
276-
chain-3-sentry:
208+
chain-3-validator:
277209
condition: service_started
278210
geth:
279211
condition: service_healthy
@@ -295,7 +227,7 @@ services:
295227
depends_on:
296228
db:
297229
condition: service_healthy
298-
chain-0-sentry:
230+
chain-0-validator:
299231
condition: service_started
300232
bootnode-0:
301233
condition: service_started
@@ -321,7 +253,7 @@ services:
321253
depends_on:
322254
db:
323255
condition: service_healthy
324-
chain-1-sentry:
256+
chain-1-validator:
325257
condition: service_started
326258
bootnode-0:
327259
condition: service_started
@@ -347,7 +279,7 @@ services:
347279
depends_on:
348280
db:
349281
condition: service_healthy
350-
chain-2-sentry:
282+
chain-2-validator:
351283
condition: service_started
352284
bootnode-0:
353285
condition: service_started
@@ -371,7 +303,7 @@ services:
371303
depends_on:
372304
db:
373305
condition: service_healthy
374-
chain-3-sentry:
306+
chain-3-validator:
375307
condition: service_started
376308
bootnode-0:
377309
condition: service_started

0 commit comments

Comments
 (0)