# Solana Restart Instructions - Slot 179526403 *Adapted from Slot 179526403 restart instructions organized by Solana Compass.* ## ## Step 1: Create a snapshot at slot 179526403 You need to **stop your validator process** if it is still running before creating your snapshot. Use the ledger tool to **create a new snapshot at slot 179526403**, replacing the two instances of <ledger path> to your actual ledger path: ``$ solana-ledger-tool --ledger <ledger path> create-snapshot 179526408 <ledger path> --hard-fork 179526408`` NOTE: Add ``--snapshot-archive-path <PATH_TO_SNAPSHOTS>`` before “create-snapshot” if you have a separate snapshot dir, and ``--accounts <PATH_TO_ACCOUNTS>`` before –hard-fork if you have a separate accounts dir The final line of output should be “Shred version: [TBD_SHRED]”, and this snapshot file should now exist: snapshot-[SNAPSHOT_TBD].tar.zst Check your ledger directory to ensure that you have no snapshot newer than snapshot-[SNAPSHOT_TBD].tar.zst Newer snapshots should be removed. Snapshots older than snapshot-[SNAPSHOT_TBD].tar.zst should NOT be removed. NOTE: You may need to move the created snapshot from your ledger directory to your snapshots directory if you have a custom snapshot directory. NOTE: If you receive “Error: Slot 179526403 is not available” or are not able to generate the snapshot for any other reason, please see Appendix A for instructions on how to download the required snapshot. ## Step 2: Adjust your validator command-line arguments, temporarily for this restart to include: --wait-for-supermajority [SUPERMAJORITY_TBD] \ --no-snapshot-fetch \ --no-genesis-fetch \ --expected-bank-hash [EXPECTED_BANK_HASH_TBD] \ --expected-shred-version [SHRED_VERSION_TBD] \ NOTE: Remove the previous value of “--expected-shred-version“ if present. NOTE: --known-validators aren’t needed if you have your own local snapshot and have set –no-genesis-fetch as your validator won’t be downloading anything, you can omit those arguments in this case. --known-validator [KNOWN_VALIDATOR_TBD] \ NOTE: **Once the cluster restarts and normal operation resumes**, remember to remove --wait-for-supermajority and --expected-bank-hash before the next update or restart. They are only required for the restart. You can also go back to your old known-validators at that point. ## Step 3: Install version 1.13.6 ``solana-install init 1.13.`` If you are running the Jito client, please see Appendix B. ## Step 4: Start your validator As it boots, it will load the snapshot for slot 179526403 and wait for 80% of the stake to come online before producing/validating new blocks. To confirm your restarted validator is correctly waiting for 80% stake, look for this periodic log message to confirm it is waiting: ``INFO solana_core::validator] Waiting for 80% of activated stake at slot 179526403 to be in gossip...`` And if you have RPC enabled, ask it repeated for the current slot: ``solana --url http://127.0.0.1:8899 slot`` Any number other than 179526403 means you did not complete the steps correctly. Once started you should see log entries for “Activate stake” visible in gossip and “waiting for 80% of stake” to be visible. You can track these to see how stake progresses. ## Appendix A: Resolution if you did not preserve your ledger or does not contain a reachable slot 179526403 NOT RECOMMENDED - this resolution should only be attempted if your ledger/ directory is unavailable or you are unable to produce a snapshot for 179526403. ONLY IF your ledger history is corrupt, otherwise unavailable or does not contain a reachable slot 179526403, follow these instructions to get a new snapshot: Your validator will need to download a new snapshot from one of the known validators. Alternative snapshot download methods are also provided further below. A snapshot will be verified as valid by the bank hash in the arguments below. For this you need to remove –no-snapshot-fetch if present. Add these arguments to restart: --wait-for-supermajority [SUPERMAJORITY_TBD] \ --expected-shred-version [SHRED_TBD] \ --expected-bank-hash [EXPECTED_BANK_HASH_TBD] \ --known-validator [KNOW_VALIDATORS_TBD] \ Additional snapshot sources: If you follow this add back --no-snapshot-fetch, you can remove old snapshots, none should have a higher slot than the one you download. [TBD] ## Appendix B: For Jito-Solana Validators If you are running a Jito-Solana client and need to rebuild / downgrade your validator to a different version of Jito-Solana, please follow the instructions below to rebuild: ``` export TAG=v1.13.6-jito cd jito-solana git pull git checkout tags/$TAG git submodule update --init --recursive CI_COMMIT=$(git rev-parse HEAD) scripts/cargo-install-all.sh ~/.local/share/solana/install/releases/"$TAG" ``` Then proceed with the instructions in the rest of this document.