41 lines
		
	
	
		
			753 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			41 lines
		
	
	
		
			753 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
|   | #!/bin/bash
 | ||
|  | # | ||
|  | # Boot a ping-pong network simulation using the HTTP API started by ping-pong.go | ||
|  | 
 | ||
|  | set -e | ||
|  | 
 | ||
|  | main() { | ||
|  |   if ! which p2psim &>/dev/null; then | ||
|  |     fail "missing p2psim binary (you need to build cmd/p2psim and put it in \$PATH)" | ||
|  |   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 "$@" |