github.com/okex/exchain@v1.8.0/libs/tendermint/test/persist/test_simple.sh (about)

     1  #! /bin/bash
     2  
     3  
     4  export TMHOME=$HOME/.tendermint_persist
     5  
     6  rm -rf $TMHOME
     7  tendermint init
     8  
     9  function start_procs(){
    10      name=$1
    11      echo "Starting persistent kvstore and tendermint"
    12      abci-cli kvstore --persist $TMHOME/kvstore &> "kvstore_${name}.log" &
    13      PID_DUMMY=$!
    14      tendermint node &> tendermint_${name}.log &
    15      PID_TENDERMINT=$!
    16      sleep 5
    17  }
    18  
    19  function kill_procs(){
    20      kill -9 $PID_DUMMY $PID_TENDERMINT
    21  }
    22  
    23  
    24  function send_txs(){
    25      # send a bunch of txs over a few blocks
    26      echo "Sending txs"
    27      for i in `seq 1 5`; do
    28          for j in `seq 1 100`; do
    29              tx=`head -c 8 /dev/urandom | hexdump -ve '1/1 "%.2X"'`
    30              curl -s 127.0.0.1:26657/broadcast_tx_async?tx=0x$tx &> /dev/null
    31          done
    32          sleep 1
    33      done
    34  }
    35  
    36  
    37  start_procs 1
    38  send_txs
    39  kill_procs
    40  
    41  start_procs 2
    42  
    43  # wait for node to handshake and make a new block
    44  addr="localhost:26657"
    45  curl -s $addr/status > /dev/null
    46  ERR=$?
    47  i=0
    48  while [ "$ERR" != 0 ]; do
    49      sleep 1
    50      curl -s $addr/status > /dev/null
    51      ERR=$?
    52      i=$(($i + 1))
    53      if [[ $i == 10 ]]; then
    54          echo "Timed out waiting for tendermint to start"
    55          exit 1
    56      fi
    57  done
    58  
    59  # wait for a new block
    60  h1=`curl -s $addr/status | jq .result.sync_info.latest_block_height`
    61  h2=$h1
    62  while [ "$h2" == "$h1" ]; do
    63      sleep 1
    64      h2=`curl -s $addr/status | jq .result.sync_info.latest_block_height`
    65  done
    66  
    67  kill_procs
    68  sleep 2
    69  
    70  echo "Passed Test: Persistence"