forked from ghostchain/ghost-node
		
	hard reset flag added to starter script
Signed-off-by: Uncle Stinky <uncle.stinky@ghostchain.io>
This commit is contained in:
		
							parent
							
								
									d575895841
								
							
						
					
					
						commit
						67fd48d500
					
				@ -2,6 +2,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
set -Ee
 | 
					set -Ee
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					HARD_RESET=false
 | 
				
			||||||
CHECK_KEYS=false
 | 
					CHECK_KEYS=false
 | 
				
			||||||
INSERT_KEYS=false
 | 
					INSERT_KEYS=false
 | 
				
			||||||
UNIT_FILE=false
 | 
					UNIT_FILE=false
 | 
				
			||||||
@ -96,6 +97,7 @@ help() {
 | 
				
			|||||||
    echo -e "-s, --base-path\n\tPath to the folder with chain database ('/var/lib/ghost' is default)."
 | 
					    echo -e "-s, --base-path\n\tPath to the folder with chain database ('/var/lib/ghost' is default)."
 | 
				
			||||||
    echo -e "-c, --specification-path\n\tPath to specification ('/etc/ghost' is default)."
 | 
					    echo -e "-c, --specification-path\n\tPath to specification ('/etc/ghost' is default)."
 | 
				
			||||||
    echo -e "-n, --specification-name\n\tSpecification name to be used ('casper' is default)."
 | 
					    echo -e "-n, --specification-name\n\tSpecification name to be used ('casper' is default)."
 | 
				
			||||||
 | 
					    echo -e "--hard-reset-i-know-what-im-doing\n\tWill completely remove ledger along with associated session keys."
 | 
				
			||||||
    echo -e "-h, --help\n\tPrints help information."
 | 
					    echo -e "-h, --help\n\tPrints help information."
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -163,6 +165,9 @@ while [ $# -gt 0 ]; do
 | 
				
			|||||||
            if [[ "$1" != *=* ]]; then shift; fi
 | 
					            if [[ "$1" != *=* ]]; then shift; fi
 | 
				
			||||||
            SPECIFICATION_NAME="${1#*=}"
 | 
					            SPECIFICATION_NAME="${1#*=}"
 | 
				
			||||||
            ;;
 | 
					            ;;
 | 
				
			||||||
 | 
					        --hard-reset-i-know-what-im-doing)
 | 
				
			||||||
 | 
					            HARD_RESET=true
 | 
				
			||||||
 | 
					            ;;
 | 
				
			||||||
        --help|-h)
 | 
					        --help|-h)
 | 
				
			||||||
            help
 | 
					            help
 | 
				
			||||||
            exit 0
 | 
					            exit 0
 | 
				
			||||||
@ -175,6 +180,51 @@ while [ $# -gt 0 ]; do
 | 
				
			|||||||
    shift
 | 
					    shift
 | 
				
			||||||
done
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [[ $HARD_RESET = true ]]; then
 | 
				
			||||||
 | 
					    echo -e "\n"
 | 
				
			||||||
 | 
					    echo "WARNING!!! THIS ACTION WILL COMPLETELY PURGE THE LEDGER AND REBUILD THE NODE USING THE LATEST"
 | 
				
			||||||
 | 
					    echo "REPOSITORY VERSION. NOTE THAT THE VALIDATION PROCESS WILL BE LOST BECAUSE SESSION OF KEYS."
 | 
				
			||||||
 | 
					    echo "THERE ARE TWO SCENARIOS IN WHICH YOU MIGHT NEED TO PROCEED:"
 | 
				
			||||||
 | 
					    echo -e "\t- A new version of the network hsa been released, and a restart is neccessary"
 | 
				
			||||||
 | 
					    echo -e "\t- There is a critical issue, and you require a hard reset of the node in a single command"
 | 
				
			||||||
 | 
					    echo -e "\n"
 | 
				
			||||||
 | 
					    if prompt "[?] do you understand all risks?"; then
 | 
				
			||||||
 | 
					        echo "[+] you were warned, I hope you know what you're doing"
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        echo "[-] aborting hard reset"
 | 
				
			||||||
 | 
					        exit 1
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    cd $PROJECT_FOLDER
 | 
				
			||||||
 | 
					    # TODO: uncomment later
 | 
				
			||||||
 | 
					    # echo "[+] fetching the latest ghost-node source code"
 | 
				
			||||||
 | 
					    # git switch main
 | 
				
			||||||
 | 
					    # git pull origin main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    cd $PROJECT_FOLDER
 | 
				
			||||||
 | 
					    echo "[+] starting build in 3 seconds..."
 | 
				
			||||||
 | 
					    sleep 3
 | 
				
			||||||
 | 
					    cargo build $RELEASE $FEATURES
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    echo "[+] trying to stop current ghost-node"
 | 
				
			||||||
 | 
					    sudo systemctl stop ghost-node
 | 
				
			||||||
 | 
					    echo "[+] trying to remove locally stored ledger"
 | 
				
			||||||
 | 
					    sudo rm -rf "$BASE_PATH/chains/*"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    cd $PROJECT_FOLDER
 | 
				
			||||||
 | 
					    echo "[+] trying to copy executable to '$EXECUTABLE_PATH'"
 | 
				
			||||||
 | 
					    sudo cp target/$TARGET/ghost $EXECUTABLE_PATH
 | 
				
			||||||
 | 
					    cp service/chain-specs/$SPECIFICATION_NAME.json $SPECIFICATION_PATH
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    echo "[+] ghost executable copied in '$EXECUTABLE_PATH' from '$TARGET'"
 | 
				
			||||||
 | 
					    echo "[+] specification '$SPECIFICATION_NAME.json' copied to '$SPECIFICATION_PATH'"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    echo "[+] starting ghost-node"
 | 
				
			||||||
 | 
					    sudo systemctl start ghost-node
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    exit 0
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [[ $SET_ENVIRONMENT = true ]]; then
 | 
					if [[ $SET_ENVIRONMENT = true ]]; then
 | 
				
			||||||
    echo -e "\n"
 | 
					    echo -e "\n"
 | 
				
			||||||
    echo "WARNING!!! THIS IS HIGHLY EXPERIMENTAL FLAG, USE IT ONLY ON YOUR"
 | 
					    echo "WARNING!!! THIS IS HIGHLY EXPERIMENTAL FLAG, USE IT ONLY ON YOUR"
 | 
				
			||||||
@ -262,7 +312,7 @@ fi
 | 
				
			|||||||
if [[ ! -z $RELEASE ]]; then
 | 
					if [[ ! -z $RELEASE ]]; then
 | 
				
			||||||
    if prompt "[?] 'cargo build $RELEASE $FEATURES' is what you want?"; then 
 | 
					    if prompt "[?] 'cargo build $RELEASE $FEATURES' is what you want?"; then 
 | 
				
			||||||
        cd $PROJECT_FOLDER
 | 
					        cd $PROJECT_FOLDER
 | 
				
			||||||
        echo "[+] Starting build in 3 seconds..."
 | 
					        echo "[+] starting build in 3 seconds..."
 | 
				
			||||||
        sleep 3
 | 
					        sleep 3
 | 
				
			||||||
        cargo build $RELEASE $FEATURES
 | 
					        cargo build $RELEASE $FEATURES
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
@ -347,7 +397,6 @@ if [[ $ARGUMENTS = true ]]; then
 | 
				
			|||||||
        CLI_ARGS+=("--public-addr=$public_addr")
 | 
					        CLI_ARGS+=("--public-addr=$public_addr")
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
    # default for now
 | 
					    # default for now
 | 
				
			||||||
    CLI_ARGS+=("--telemetry-url='wss://telemetry.ghostchain.io/submit/ 9'")
 | 
					    CLI_ARGS+=("--telemetry-url='wss://telemetry.ghostchain.io/submit/ 9'")
 | 
				
			||||||
    CLI_ARGS+=("--base-path=$BASE_PATH")
 | 
					    CLI_ARGS+=("--base-path=$BASE_PATH")
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user