43 lines
1.7 KiB
Plaintext
Executable File
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
|