chia-blockchain/tests/chia-start-sim
2021-04-04 21:41:39 -07:00

43 lines
1.7 KiB
Plaintext
Executable File

_kill_servers() {
PROCS=`ps -e | grep -E 'chia|vdf_client' -v "chia-start-sim" | awk '!/grep/' | awk '{print $1}'`
if [ -n "$PROCS" ]; then
echo "$PROCS" | xargs -L1 kill -KILL
fi
}
_kill_servers
BG_PIDS=""
_run_bg_cmd() {
"$@" &
BG_PIDS="$BG_PIDS $!"
}
_term() {
echo "Caught TERM or INT signal, killing all servers."
for PID in $BG_PIDS; do
kill -TERM "$PID"
done
_kill_servers
}
echo "Starting local blockchain simulation. Runs a local introducer and chia system."
echo "Note that this simulation will not work if connected to external nodes."
# Starts a harvester, farmer, timelord, introducer, and 3 full nodes, locally.
# Please note that the simulation is meant to be run locally and not connected to external nodes.
# NOTE: you must run install.sh when changing this file
_run_bg_cmd chia_farmer --logging.log_stdout=True --logging.log_level=INFO
_run_bg_cmd chia_harvester --logging.log_stdout=True --logging.log_level=INFO
_run_bg_cmd chia_timelord --logging.log_stdout=True --logging.log_level=INFO
_run_bg_cmd chia_timelord_launcher --logging.log_stdout=True --logging.log_level=INFO
_run_bg_cmd chia_introducer --logging.log_stdout=True --logging.log_level=INFO
_run_bg_cmd chia_full_node --port=8444 --database_path="simulation_1.db" --rpc_port=8555 --introducer_peer.host="127.0.0.1" --introducer_peer.port=8445 --logging.log_stdout=True --logging.log_level=INFO --logging.log_level=INFO
sleep 1
_run_bg_cmd chia_full_node --port=8002 --database_path="simulation_2.db" --rpc_port=8556 --introducer_peer.host="127.0.0.1" --introducer_peer.port=8445 --logging.log_stdout=True --logging.log_level=INFO
_run_bg_cmd python -m chia.daemon.server --logging.log_stdout=True --logging.log_level=INFO
wait