Published using Google Docs
Solana Mainnet-Beta Cluster Restart 25 February 2023 v2
Updated automatically every 5 minutes

Solana Mainnet-Beta Cluster Restart 25 February 2023 v2

CLUSTER HAS RESTARTED DO NOT FOLLOW THESE INSTRUCTIONS, REMOVE WAIT-FOR-SUPERMAJORITY FROM YOUR STARTUP COMMAND!!!

You need the following shred version and expected-bank-hash to join the cluster:

--expected-shred-version 56177 \

DO NOT SET –wait-for-supermajority or –expexcted-bank-hash

Restart details:

version

v1.13.6

slot

179526403

shred version

56177

expected bank hash

69p75jzzT1P2vJwVn3wbTVutxHDcWKAgcbjqXvwCVUDE

Step 0: Purge previous restart root from ledger

This step is especially important for those who host WAREHOUSE NODES!

Before starting your node (there’s no harm in creating the snapshot first), purge the previous restart slot (179526408) from the ledger, as it was force rooted by the prior --hard-fork.

$ solana-ledger-tool --ledger <ledger-path> purge 179526408 179526408

Step 1: Create a snapshot at slot 179526403

You need to stop your validator process if it is still running before creating your snapshot

If you are not able to generate Snapshot, proceed to Appendix for download instructions  

Use the ledger tool to create a new snapshot at slot 179526403. If you previously created a snapshot at 179526408 you will need the original ledger to create the new snapshot. If you don’t have the original ledger See Appendix for options to download a snapshot. 

Replace the two instances of <ledger path> to your actual ledger path:

$ solana-ledger-tool --ledger <ledger path> create-snapshot 179526403 <ledger path> --hard-fork 179526403

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: 56177”, and this snapshot file should now exist:

snapshot-179526403-FUdrVxEUnbp4AzZ5qNPgYB3viRQEGo2n1xq5n382Y8sC.tar.zst

Check your ledger directory to ensure that you have no snapshot newer than snapshot-179526403-FUdrVxEUnbp4AzZ5qNPgYB3viRQEGo2n1xq5n382Y8sC.tar.zst Newer snapshots should be removed. Snapshots older than snapshot-179526403-FUdrVxEUnbp4AzZ5qNPgYB3viRQEGo2n1xq5n382Y8sC.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”, please see appendix


Step 2: Adjust your validator command-line arguments, temporarily for this restart to include:

(--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)

--wait-for-supermajority 179526403 \

--no-snapshot-fetch \

--no-genesis-fetch \

--expected-bank-hash 69p75jzzT1P2vJwVn3wbTVutxHDcWKAgcbjqXvwCVUDE \

--expected-shred-version 56177 \

--known-validator DE1bawNcRJB9rVm3buyMVfr8mBEoyyu73NBovf2oXJsJ \

--known-validator GdnSyH3YtwcxFvQrVVJMm1JhTS4QVX7MFsX56uJLUfiZ \

--known-validator CakcnaRDHka2gXyfbEd2d3xsvkJkqsLw2akB3zsN1D2S \

--known-validator C1ocKDYMCm2ooWptMMnpd5VEB2Nx4UMJgRuYofysyzcA \

--known-validator GwHH8ciFhR8vejWCqmg8FWZUCNtubPY2esALvy5tBvji \

--known-validator 6WgdYhhGE53WrZ7ywJA15hBVkw7CRbQ8yDBBTwmBtAHN \

--known-validator 7Np41oeYqPefeNQEHSv1UDhYrehxin3NStELsSKCT4K2 \

(Remove the previous value of “--expected-shred-version“ if present). 

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.

(see next page for step 4)


Step 3: Install version 1.13.6

$ solana-install init 1.13.6

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.

If you couldn’t produce your snapshot locally follow appendix on next page below


Appendix: 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 179526403 \

--expected-shred-version 56177 \

--expected-bank-hash 69p75jzzT1P2vJwVn3wbTVutxHDcWKAgcbjqXvwCVUDE \

--known-validator DE1bawNcRJB9rVm3buyMVfr8mBEoyyu73NBovf2oXJsJ \

--known-validator GdnSyH3YtwcxFvQrVVJMm1JhTS4QVX7MFsX56uJLUfiZ \

--known-validator CakcnaRDHka2gXyfbEd2d3xsvkJkqsLw2akB3zsN1D2S \

--known-validator C1ocKDYMCm2ooWptMMnpd5VEB2Nx4UMJgRuYofysyzcA \

--known-validator GwHH8ciFhR8vejWCqmg8FWZUCNtubPY2esALvy5tBvji \

--known-validator 6WgdYhhGE53WrZ7ywJA15hBVkw7CRbQ8yDBBTwmBtAHN \

--known-validator 7Np41oeYqPefeNQEHSv1UDhYrehxin3NStELsSKCT4K2 \

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.

Expected SHA256: bb5ebca8c0ebdf2df907e92294300f0f3a41a70f5df0fe82dd0bbd0acfc3156d


By Syndica (Global)

wget https://d1fe19ei6b1nmi.cloudfront.net/snapshot-179526403-FUdrVxEUnbp4AzZ5qNPgYB3viRQEGo2n1xq5n382Y8sC.tar.zst

By Dubblelosix (Tokyo, Japan)

wget http://199.254.199.51/snapshot-179526403-FUdrVxEUnbp4AzZ5qNPgYB3viRQEGo2n1xq5n382Y8sC.tar.zst

By Code Monkey (Ashburn, VA, USA)

wget https://snapshots.nodemonkey.io/snapshots/snapshot-179526403-FUdrVxEUnbp4AzZ5qNPgYB3viRQEGo2n1xq5n382Y8sC.tar.zst

By ganyu (NYC, NY, USA)

wget http://64.185.227.122:36969/snapshot-179526403-FUdrVxEUnbp4AzZ5qNPgYB3viRQEGo2n1xq5n382Y8sC.tar.zst

By ganyu (Hong Kong)

wget http://58.153.19.142:36969/snapshot-179526403-FUdrVxEUnbp4AzZ5qNPgYB3viRQEGo2n1xq5n382Y8sC.tar.zst

By Jito (Tokyo, Japan)

wget --trust-server-names http://202.8.9.99:8899/snapshot.tar.bz2

By Jito (Frankfurt, Germany)

wget --trust-server-names http://208.91.106.86:8899/snapshot.tar.bz2

By Jito (Amsterdam, Netherlands)

wget --trust-server-names http://74.118.139.148:8899/snapshot.tar.bz2

By Jito (NYC, NY, USA)

wget --trust-server-names http://141.98.216.83:8899/snapshot.tar.bz2

By Jump (Germany)

wget --trust-server-names https://storage.googleapis.com/tpu-archive/snapshot-179526403-FUdrVxEUnbp4AzZ5qNPgYB3viRQEGo2n1xq5n382Y8sC.tar.zst


Appendix: 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