github.com/bcnmy/go-ethereum@v1.10.27/p2p/simulations/examples/ping-pong.sh (about) 1 #!/bin/bash 2 # 3 # Boot a ping-pong network simulation using the HTTP API started by ping-pong.go 4 5 set -e 6 7 main() { 8 if ! which p2psim &>/dev/null; then 9 fail "missing p2psim binary (you need to build cmd/p2psim and put it in \$PATH)" 10 fi 11 12 info "creating 10 nodes" 13 for i in $(seq 1 10); do 14 p2psim node create --name "$(node_name $i)" 15 p2psim node start "$(node_name $i)" 16 done 17 18 info "connecting node01 to all other nodes" 19 for i in $(seq 2 10); do 20 p2psim node connect "node01" "$(node_name $i)" 21 done 22 23 info "done" 24 } 25 26 node_name() { 27 local num=$1 28 echo "node$(printf '%02d' $num)" 29 } 30 31 info() { 32 echo -e "\033[1;32m---> $(date +%H:%M:%S) ${@}\033[0m" 33 } 34 35 fail() { 36 echo -e "\033[1;31mERROR: ${@}\033[0m" >&2 37 exit 1 38 } 39 40 main "$@"