- #!/usr/bin/env bash
-
- # XXX: removes tendermint dir
-
- cd "$GOPATH/src/github.com/tendermint/tendermint" || exit 1
-
- # Make sure we have a tendermint command.
- if ! hash tendermint 2>/dev/null; then
- make install
- fi
-
- # specify a dir to copy
- # TODO: eventually we should replace with `tendermint init --test`
- DIR_TO_COPY=$HOME/.tendermint_test/consensus_state_test
-
- TMHOME="$HOME/.tendermint"
- #rm -rf "$TMHOME"
- #cp -r "$DIR_TO_COPY" "$TMHOME"
- #mv $TMHOME/config.toml $TMHOME/config.toml.bak
- cp $TMHOME/genesis.json $TMHOME/genesis.json.bak
-
- function reset(){
- tendermint unsafe_reset_all
- cp $TMHOME/genesis.json.bak $TMHOME/genesis.json
- }
-
- reset
-
- # empty block
- function empty_block(){
- tendermint node --proxy_app=persistent_dummy &> /dev/null &
- sleep 5
- killall tendermint
-
- # /q would print up to and including the match, then quit.
- # /Q doesn't include the match.
- # http://unix.stackexchange.com/questions/11305/grep-show-all-the-file-up-to-the-match
- # note on macbook we need `gnu-sed` for Q to work
- sed '/ENDHEIGHT: 1/Q' ~/.tendermint/data/cs.wal/wal > consensus/test_data/empty_block.cswal
-
- reset
- }
-
- # many blocks
- function many_blocks(){
- bash scripts/txs/random.sh 1000 36657 &> /dev/null &
- PID=$!
- tendermint node --proxy_app=persistent_dummy &> /dev/null &
- sleep 10
- killall tendermint
- kill -9 $PID
-
- sed '/ENDHEIGHT: 6/Q' ~/.tendermint/data/cs.wal/wal > consensus/test_data/many_blocks.cswal
-
- reset
- }
-
-
- # small block 1
- function small_block1(){
- bash scripts/txs/random.sh 1000 36657 &> /dev/null &
- PID=$!
- tendermint node --proxy_app=persistent_dummy &> /dev/null &
- sleep 10
- killall tendermint
- kill -9 $PID
-
- sed '/ENDHEIGHT: 1/Q' ~/.tendermint/data/cs.wal/wal > consensus/test_data/small_block1.cswal
-
- reset
- }
-
-
- # small block 2 (part size = 512)
- function small_block2(){
- cat ~/.tendermint/genesis.json | jq '. + {"consensus_params": {"block_size_params": {"max_bytes":1000000}, "block_gossip_params": {"block_part_size_bytes":512}}}' > genesis.json.new
- mv genesis.json.new ~/.tendermint/genesis.json
- bash scripts/txs/random.sh 1000 36657 &> /dev/null &
- PID=$!
- tendermint node --proxy_app=persistent_dummy &> /dev/null &
- sleep 10
- killall tendermint
- kill -9 $PID
-
- sed '/ENDHEIGHT: 1/Q' ~/.tendermint/data/cs.wal/wal > consensus/test_data/small_block2.cswal
-
- reset
- }
-
-
-
- case "$1" in
- "small_block1")
- small_block1
- ;;
- "small_block2")
- small_block2
- ;;
- "empty_block")
- empty_block
- ;;
- "many_blocks")
- many_blocks
- ;;
- *)
- small_block1
- small_block2
- empty_block
- many_blocks
- esac
-
-
|