Skip to content

Upstream Updates - Mon Jul 7 00:18:18 UTC 2025 #1291

@github-actions

Description

@github-actions

SIMD

Opened

Closed

Agave Wiki

a52a1d6b824db896cb22f5bcdd6f4dcfd37c1211^..f1df6587da8b9a50e7020f8bdda0321289fc03f8

diff --git a/2025-07-02-Testnet-Rollback-and-Restart.md b/2025-07-02-Testnet-Rollback-and-Restart.md
new file mode 100644
index 0000000..85ee038
--- /dev/null
+++ b/2025-07-02-Testnet-Rollback-and-Restart.md
@@ -0,0 +1,122 @@
+## Edit
+As of 2025-07-03 16:00 UTC testnet is back online. The instructions below are no longer relevant. Nodes that haven't yet joined the cluster will need to update their shred version, download a snapshot, and start normally:
+
+    --expected-shred-version 9065 n+
+***
+This testnet restart is NOT urgent. Follow these instructions when you have time, but don’t skip sleep or disrupt other plans for this.
+
+## Summary
+|Attribute|Value|
+|---------|-----|
+|Validator version|Agave: v2.3.2 </br> Frankendancer: v0.603.20216|
+|Snapshot slot|343175552|
+|Restart slot|343175553|
+|Shred version|9065|
+|Expected bank hash|4oMrSXsLTiCc1X7S27kxSfGVraTCZoZ7YTy2skEB9bPk|
+
+
+## Step 1. Stop validator process if you haven’t already
+
+## Step 2: Install Latest Version
+This is necessary in order to create the correct snapshot in step 3.
+
+Agave:  `agave-install init v2.3.2`
+
+Frankendancer: Install `v0.603.20216`
+
+## Step 3. Create snapshot
+This command creates a snapshot but removes 4 activated feature gate account.
+
+    agave-ledger-tool --ledger <ledger-path> create-snapshot n+    --incremental n+    --snapshot-archive-path  <snapshot-path> n+    --hard-fork 343175552 n+    --deactivate-feature-gate n+        2aQJYqER2aKyb3cZw22v4SL2xMX7vwXBRWfvS4pTrtED n+        LTsNAP8h1voEVVToMNBNqoiNQex4aqfUrbFhRH3mSQ2 n+        5KLGJSASDVxKPjLCDWNtnABLpZjsQSrYZ8HKwcEdAMC8 n+        6oMCUgfY6BzZ6jwB681J6ju5Bh6CjVXbd7NeWYqiXBSu n+    --enable-capitalization-change n+    --  343175552 <snapshot-path>
+
+
+The output should include this at (or near) the end:
+```
+    Successfully created snapshot for slot 343175553, hash 4oMrSXsLTiCc1X7S27kxSfGVraTCZoZ7YTy2skEB9bPk, base slot: <BASE_SLOT>>: /home/sol/ledger-snapshots/incremental-snapshot-<BASE_SLOT>-343175553-<SNAPSHOT_HASH>.tar.zst
+    Capitalization change: -3814080 lamports
+    Shred version: 9065
+```
+
+The capitalization change is expected because we deactivated a feature gate.
+
+Note that each operator's snapshot file name may contain different base slot number and hash, but
+* the bank hash should be 4oMrSXsLTiCc1X7S27kxSfGVraTCZoZ7YTy2skEB9bPk
+* the second slot number should be 343175553
+* the shred version should be 9065
+
+Once you have created a snapshot move all the other snapshots to a backup directory, so your snapshot directory contains one full snapshot and one incremental snapshot. Note that the <BASE_SLOT> in these two filenames should match.
+
+    snapshot-<BASE_SLOT>-<BASE_SNAPSHOT_HASH>.tar.zst
+    incremental-snapshot-<BASE_SLOT>-343175553-<SNAPSHOT_HASH>.tar.zst
+
+If you fail to create a snapshot see the appendix for possible fixes.
+
+## Step 5: Update startup config and start your validator
+### Agave
+Add these arguments to your validator startup script:
+
+    --wait-for-supermajority 343175553 n+    --expected-shred-version 9065 n+    --expected-bank-hash 4oMrSXsLTiCc1X7S27kxSfGVraTCZoZ7YTy2skEB9bPk n+
+
+As it starts, the validator will load the snapshot for slot `343175553` 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 343175553 to be in gossip...
+
+And if you have RPC enabled, ask it for the current slot:
+
+    solana --url http://127.0.0.1:8899 slot
+
+Any number other than `343175553` means you did not complete the steps correctly.
+
+Once started you should see log entries for “active stake” visible in gossip and “waiting for 80% of stake” to be visible. You can track these to see how the stake progresses.
+
+
+***
+
+## Appendix (use this only if step 3 failed)
+
+If you get an error like this:
+
+    Error: Slot 343175552 is not available
+
+Or this:
+
+    Unable to process blockstore from starting slot <slot> to 343175552; the ending slot is less than the starting slot. The starting slot will be the latest snapshot slot, or genesis if the --no-snapshot flag is specified or if no snapshots are found.
+
+Your snapshots directory contains a snapshot that is for a slot `>343175552`. If you also have a snapshot for slot `<=343175552` then move snapshots for slots `>343175552` to a backup directory and run the `agave-ledger-tool` command again. If you do not have a snapshot for slot `<=343175552` then you will need to download a snapshot
+
+If you successfully created a snapshot, resume the instructions above starting at Step 4. If you are unable to create a snapshot, follow the instructions below on downloading a snapshot.
+
+If you couldn’t produce your snapshot locally follow these appendix steps
+
+### Step 1: Download a snapshot from a known validator
+
+If you are unable to generate a snapshot locally for slot `343175553` you will need to download one from a known validator. Add these lines to your startup script.
+
+    --known-validator 5D1fNXzvv5NjV1ysLjirC4WY92RNsVH18vjmcszZd8on n+    --expected-shred-version 9065 n+
+Remove the flag `--no-snapshot-fetch` in your startup script if it is present.
+
+### Step 2: After download, restart
+
+Verify that you have a new snapshot in your snapshot directory.  If the snapshot is done downloading, stop your validator process.
+
+Add the flag `--no-snapshot-fetch` to your startup script
+
+Resume the instructions above starting at Step 4.
diff --git a/2025-07-03-Devnet-rollback-and-restart.md b/2025-07-03-Devnet-rollback-and-restart.md
new file mode 100644
index 0000000..73cc419
--- /dev/null
+++ b/2025-07-03-Devnet-rollback-and-restart.md
@@ -0,0 +1,119 @@
+## Edit
+As of 2025-07-03 16:10 UTC devnet is back online. The instructions below are no longer relevant. Nodes that haven't yet joined the cluster will need to update their shred version, download a snapshot, and start normally:
+
+    --expected-shred-version 29062 n+
+***
+This devnet restart is NOT urgent. Follow these instructions when you have time, but don’t skip sleep or disrupt other plans for this.
+
+## Summary
+|Attribute|Value|
+|---------|-----|
+|Validator version|Agave: v2.3.2 |
+|Snapshot slot|391843993|
+|Restart slot|391843994|
+|Shred version|29062|
+|Expected bank hash|TvMCp3TJJTQmpYyXh5E36wLkH9DqpmKZqXy882S8PnK|
+
+
+## Step 1. Stop validator process
+
+## Step 2: Install the Latest Version
+
+This is necessary in order to create the correct snapshot in step 3.
+
+Agave:  `agave-install init v2.3.2`
+
+## Step 3. Create snapshot
+This command creates a snapshot but removes 2 activated feature gate account.
+
+    agave-ledger-tool --ledger <ledger-path> create-snapshot n+    --incremental n+    --snapshot-archive-path  <snapshot-path> n+    --hard-fork <snapshot-slot> n+    --deactivate-feature-gate n+        2aQJYqER2aKyb3cZw22v4SL2xMX7vwXBRWfvS4pTrtED n+        LTsNAP8h1voEVVToMNBNqoiNQex4aqfUrbFhRH3mSQ2 n+    --enable-capitalization-change n+    --  <snapshot-slot> <snapshot-path>
+
+
+The output should include this at (or near) the end:
+```
+    Successfully created snapshot for slot 391843994, hash TvMCp3TJJTQmpYyXh5E36wLkH9DqpmKZqXy882S8PnK, base slot: <BASE_SLOT>>: /home/sol/ledger-snapshots/incremental-snapshot-<BASE_SLOT>-391843994-<SNAPSHOT_HASH>.tar.zst
+    Capitalization change: -1907040 lamports
+    Shred version: 29062
+```
+
+The capitalization change is expected because we deactivated a feature gate.
+
+Note that each operator's snapshot file name may contain different base slot number and hash, but
+* the bank hash should be TvMCp3TJJTQmpYyXh5E36wLkH9DqpmKZqXy882S8PnK
+* the second slot number should be 391843994
+* the shred version should be 29062
+
+Once you have created a snapshot move all the other snapshots to a backup directory, so your snapshot directory contains one full snapshot and one incremental snapshot. Note that the <BASE_SLOT> in these two filenames should match.
+
+    snapshot-<BASE_SLOT>-<BASE_SNAPSHOT_HASH>.tar.zst
+    incremental-snapshot-<BASE_SLOT>-391843994-<SNAPSHOT_HASH>.tar.zst
+
+If you fail to create a snapshot see the appendix for possible fixes.
+
+## Step 4: Update startup config and start your validator
+### Agave
+Add these arguments to your validator startup script:
+
+    --wait-for-supermajority 391843994 n+    --expected-shred-version 29062 n+    --expected-bank-hash TvMCp3TJJTQmpYyXh5E36wLkH9DqpmKZqXy882S8PnK n+
+
+As it starts, the validator will load the snapshot for slot `391843994` 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 391843994 to be in gossip...
+
+And if you have RPC enabled, ask it for the current slot:
+
+    solana --url http://127.0.0.1:8899 slot
+
+Any number other than `391843994` means you did not complete the steps correctly.
+
+Once started you should see log entries for “active stake” visible in gossip and “waiting for 80% of stake” to be visible. You can track these to see how the stake progresses.
+
+
+***
+
+## Appendix (use this only if step 3 failed)
+
+If you get an error like this:
+
+    Error: Slot <SNAPSHOT_SLOT> is not available
+
+Or this:
+
+    Unable to process blockstore from starting slot <slot> to 391843993; the ending slot is less than the starting slot. The starting slot will be the latest snapshot slot, or genesis if the --no-snapshot flag is specified or if no snapshots are found.
+
+Your snapshots directory contains a snapshot that is for a slot `>391843993`. If you also have a snapshot for slot `<=391843993` then move snapshots for slots `>391843993` to a backup directory and run the `agave-ledger-tool` command again. If you do not have a snapshot for slot `<=391843993` then you will need to download a snapshot
+
+If you successfully created a snapshot, resume the instructions above starting at Step 4. If you are unable to create a snapshot, follow the instructions below on downloading a snapshot.
+
+If you couldn’t produce your snapshot locally follow these appendix steps
+
+### Step 1: Download a snapshot from a known validator
+
+If you are unable to generate a snapshot locally for slot `391843994` you will need to download one from a known validator. Add these lines to your startup script.
+
+    --known-validator dv1ZAGvdsz5hHLwWXsVnM94hWf1pjbKVau1QVkaMJ92 n+    --expected-shred-version 29062 n+
+Remove the flag `--no-snapshot-fetch` in your startup script if it is present.
+
+### Step 2: After download, restart
+
+Verify that you have a new snapshot in your snapshot directory.  If the snapshot is done downloading, stop your validator process.
+
+Add the flag `--no-snapshot-fetch` to your startup script
+
+Resume the instructions above starting at Step 4.
diff --git a/Feature-Gate-Tracker-Schedule.md b/Feature-Gate-Tracker-Schedule.md
index 01784ee..16028f9 100644
--- a/Feature-Gate-Tracker-Schedule.md
+++ b/Feature-Gate-Tracker-Schedule.md
@@ -20,12 +20,14 @@ The version floor is the current minimum supported software version for a cluste
 | Key | SIMD | Agave Version | FD Version | Jito Version | Testnet | Devnet | Description | Owner |
 |-----|------|---------------|------------|--------------|---------|--------|-------------|-------|
 | LTsNAP8h1voEVVToMNBNqoiNQex4aqfUrbFhRH3mSQ2 | 0220  | v2.2.0 | v0.503.20214 | v2.2.0 | 804 |  | Snapshots use Accounts Lt Hash | brooksprumo |
+| 5KLGJSASDVxKPjLCDWNtnABLpZjsQSrYZ8HKwcEdAMC8 | 0313  | v2.2.8 | v0.603.20216 |  | 805 |  | drop unchained Merkle shreds | AshwinSekar |
 
 
 ### Pending Testnet Activation
 | Key | SIMD | Agave Version | FD Version | Jito Version | Testnet | Devnet | Description | Owner |
 |-----|------|---------------|------------|--------------|---------|--------|-------------|-------|
-| 5KLGJSASDVxKPjLCDWNtnABLpZjsQSrYZ8HKwcEdAMC8 |   | v2.2.8 | v0.603.20216 |  |  |  | drop unchained Merkle shreds | AshwinSekar |
 | 6oMCUgfY6BzZ6jwB681J6ju5Bh6CjVXbd7NeWYqiXBSu | 0256  | v2.2.7 | v0.501.20212 |  |  |  | Raise Block Limits to 60M CU | bw-solana |
 | 6M4oQ6eXneVhtLoiAr4yRYQY43eVLjrKbiDZDJc892yk | 0196  | v2.1.10 | v0.503.20214 |  |  |  | Feature Gate: Migrate Stake program to Core BPF | 2501babe |
 | F6UVKh1ujTEFK3en2SyAL3cdVnqko1FVEXWhmdLRu6WP | 0173, 0174  | v2.2.0 | v0.503.20214 | v2.2.0 |  |  | Feature Gate: Enables deployment and execution of SBPFv2 programs | Lichtso |
+| 5JsG4NWH8Jbrqdd8uL6BNwnyZK3dQSoieRXG5vmofj9y | 0180  | v2.3.0 |  |  |  |  | SIMD-0180: Use Vote Account Address To Key Leader Schedule | jstarry |
+| bn2puAyxUx6JUabAxYdKdJ5QHbNNmKw8dCGuGCyRrFN | 0222  | v2.2.0 |  |  |  |  | Fix alt_bn128_multiplication input length | samkim-crypto |
diff --git a/_Sidebar.md b/_Sidebar.md
index 6578aac..b031dc0 100644
--- a/_Sidebar.md
+++ b/_Sidebar.md
@@ -19,4 +19,4 @@
 * **Migration**
   * [Agave v2.0 Migration](Agave-v2.0-Transition-Guide)
 * **Restart Instructions**
-  * [2025-01-14 Testnet Restart](2025-01-14-Testnet-Rollback-and-Restart)
+  * [2025-07-02 Testnet Restart](2025-07-02-Testnet-Rollback-and-Restart)
diff --git a/feature-gate-tracker-schedule.json b/feature-gate-tracker-schedule.json
index 486d276..3bfa671 100644
--- a/feature-gate-tracker-schedule.json
+++ b/feature-gate-tracker-schedule.json
@@ -1232,9 +1232,7 @@
       "Status": "2 - Ready for Devnet",
       "Testnet Epoch": 804,
       "Title": "Snapshots use Accounts Lt Hash"
-    }
-  ],
-  "3 - Ready for Testnet": [
+    },
     {
       "Comms Required": null,
       "Description": null,
@@ -1254,15 +1252,17 @@
       ],
       "Planned Testnet Order": 4420,
       "SIMD Links": [
-        ""
+        "https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0313-drop-unchained-merkle-shreds.md"
       ],
       "SIMDs": [
-        ""
+        "0313"
       ],
-      "Status": "3 - Ready for Testnet",
-      "Testnet Epoch": "",
+      "Status": "2 - Ready for Devnet",
+      "Testnet Epoch": 805,
       "Title": "drop unchained Merkle shreds"
-    },
+    }
+  ],
+  "3 - Ready for Testnet": [
     {
       "Comms Required": null,
       "Description": null,
@@ -1347,6 +1347,62 @@
       "Status": "3 - Ready for Testnet",
       "Testnet Epoch": "",
       "Title": "Feature Gate: Enables deployment and execution of SBPFv2 programs"
+    },
+    {
+      "Comms Required": null,
+      "Description": null,
+      "Devnet Epoch": null,
+      "Feature ID": "5JsG4NWH8Jbrqdd8uL6BNwnyZK3dQSoieRXG5vmofj9y",
+      "Min Agave Versions": [
+        "v2.3.0"
+      ],
+      "Min FD Versions": [
+        ""
+      ],
+      "Min Jito Versions": [
+        ""
+      ],
+      "Owners": [
+        "jstarry"
+      ],
+      "Planned Testnet Order": 4710,
+      "SIMD Links": [
+        "https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0180-vote-account-leader-schedule.md"
+      ],
+      "SIMDs": [
+        "0180"
+      ],
+      "Status": "3 - Ready for Testnet",
+      "Testnet Epoch": "",
+      "Title": "SIMD-0180: Use Vote Account Address To Key Leader Schedule"
+    },
+    {
+      "Comms Required": null,
+      "Description": null,
+      "Devnet Epoch": null,
+      "Feature ID": "bn2puAyxUx6JUabAxYdKdJ5QHbNNmKw8dCGuGCyRrFN",
+      "Min Agave Versions": [
+        "v2.2.0"
+      ],
+      "Min FD Versions": [
+        ""
+      ],
+      "Min Jito Versions": [
+        ""
+      ],
+      "Owners": [
+        "samkim-crypto"
+      ],
+      "Planned Testnet Order": "",
+      "SIMD Links": [
+        "https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0222-fix-alt-bn128-multiplication-length-check.md"
+      ],
+      "SIMDs": [
+        "0222"
+      ],
+      "Status": "3 - Ready for Testnet",
+      "Testnet Epoch": "",
+      "Title": "Fix alt_bn128_multiplication input length"
     }
   ],
   "No Status": [
@@ -1872,7 +1928,7 @@
       "Comms Required": null,
       "Description": null,
       "Devnet Epoch": null,
-      "Feature ID": null,
+      "Feature ID": "7VVhpg5oAjAmnmz1zCcSHb2Z9ecZB2FQqpnEwReka9Zm",
       "Min Agave Versions": [
         ""
       ],
@@ -1885,10 +1941,10 @@
       "Owners": [],
       "Planned Testnet Order": "",
       "SIMD Links": [
-        ""
+        "https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0242-static-nonce-account.md"
       ],
       "SIMDs": [
-        ""
+        "0242"
       ],
       "Status": null,
       "Testnet Epoch": "", 

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions