go-ethereum/p2p/simulations/examples/p2psim.sh
Lewis Marshall c8e645817b p2p/simulations: Use a single network for the HTTP API
Signed-off-by: Lewis Marshall <lewis@lmars.net>
2017-06-27 18:45:36 +01:00

40 lines
737 B
Bash
Executable file

#!/bin/bash
#
# Start a network simulation using the API started by connectivity.go
set -e
main() {
if ! which p2psim &>/dev/null; then
fail "missing p2psim binary (you need to build p2p/simulations/cmd/p2psim)"
fi
info "creating 10 nodes"
for i in $(seq 1 10); do
p2psim node create --name "$(node_name $i)"
p2psim node start "$(node_name $i)"
done
info "connecting node01 to all other nodes"
for i in $(seq 2 10); do
p2psim node connect "node01" "$(node_name $i)"
done
info "done"
}
node_name() {
local num=$1
echo "node$(printf '%02d' $num)"
}
info() {
echo -e "\033[1;32m---> $(date +%H:%M:%S) ${@}\033[0m"
}
fail() {
echo -e "\033[1;31mERROR: ${@}\033[0m" >&2
exit 1
}
main "$@"