tendermint/test/p2p/fast_sync/check_peer.sh

44 lines
1.0 KiB
Bash
Raw Normal View History

2016-12-06 20:16:41 -08:00
#! /bin/bash
set -eu
set -o pipefail
ID=$1
2016-12-12 13:00:21 -08:00
###########################################
#
# Wait for peer to catchup to other peers
#
###########################################
2016-12-06 20:16:41 -08:00
addr=$(test/p2p/ip.sh $ID):46657
peerID=$(( $(($ID % 4)) + 1 )) # 1->2 ... 3->4 ... 4->1
peer_addr=$(test/p2p/ip.sh $peerID):46657
# get another peer's height
2017-04-28 19:31:30 -07:00
h1=`curl -s $peer_addr/status | jq .result.latest_block_height`
2016-12-06 20:16:41 -08:00
# get another peer's state
2017-04-28 19:31:30 -07:00
root1=`curl -s $peer_addr/status | jq .result.latest_app_hash`
2016-12-06 20:16:41 -08:00
echo "Other peer is on height $h1 with state $root1"
echo "Waiting for peer $ID to catch up"
# wait for it to sync to past its previous height
set +e
set +o pipefail
h2="0"
while [[ "$h2" -lt "$(($h1+3))" ]]; do
sleep 1
2017-04-28 19:31:30 -07:00
h2=`curl -s $addr/status | jq .result.latest_block_height`
2016-12-06 20:16:41 -08:00
echo "... $h2"
done
# check the app hash
2017-04-28 19:31:30 -07:00
root2=`curl -s $addr/status | jq .result.latest_app_hash`
2016-12-06 20:16:41 -08:00
if [[ "$root1" != "$root2" ]]; then
echo "App hash after fast sync does not match. Got $root2; expected $root1"
exit 1
fi
echo "... fast sync successful"