diff --git a/multinode-demo/fullnode.sh b/multinode-demo/fullnode.sh index 4055dbb394..36c2d42000 100755 --- a/multinode-demo/fullnode.sh +++ b/multinode-demo/fullnode.sh @@ -198,6 +198,7 @@ no_restart=0 airdrops_enabled=1 generate_snapshots=0 boot_from_snapshot=1 +reset_ledger=0 positional_args=() while [[ -n $1 ]]; do @@ -268,6 +269,9 @@ while [[ -n $1 ]]; do elif [[ $1 = --no-airdrop ]]; then airdrops_enabled=0 shift + elif [[ $1 = --reset-ledger ]]; then + reset_ledger=1 + shift elif [[ $1 = -h ]]; then fullnode_usage "$@" else @@ -415,6 +419,18 @@ kill_fullnode() { } trap 'kill_fullnode' INT TERM ERR +if ((reset_ledger)); then + echo "Resetting ledger..." + ( + set -x + rm -rf "$state_dir" + rm -rf "$ledger_config_dir" + ) + if [[ -d "$SOLANA_RSYNC_CONFIG_DIR"/ledger/ ]]; then + cp -a "$SOLANA_RSYNC_CONFIG_DIR"/ledger/ "$ledger_config_dir" + fi +fi + while true; do if [[ $node_type != bootstrap_leader ]] && new_genesis_block; then # If the genesis block has changed remove the now stale ledger and