-
Notifications
You must be signed in to change notification settings - Fork 257
Agave v2.0 Transition Guide
In coming weeks, Agave v2.0 will be released to Solana mainnet-beta. There are a number of changes which may require validators, RPC operators and developers to update scripts including deprecated RPC APIs and SDK calls. If you are a developer or operating a Solana RPC node or validator, we recommend following the steps in this blog post in order to prepare for Agave v2.0 reaching mainnet-beta.
Agave v2.0 will rename a number of crates. Please carefully check any automation scripts to ensure a smooth migration. The following six "solana-" crates will be getting renamed to “agave-.” This may break automations and scripts depending on these namings. Please refer to this link as well for further details on the Agave Transition.
Original Name | New Name |
---|---|
solana-validator | agave-validator |
solana-ledger-tool | agave-ledger-tool |
solana-watchtower | agave-watchtower |
solana-install | agave-install |
solana-geyser-plugin-interface | agave-geyser-plugin-interface |
solana-cargo-registry | agave-cargo-registry |
The reason these crates are being renamed is that, in the future, there will be multiple Solana validator clients being introduced by different teams in the ecosystem. We are renaming these to ensure clarity when referring specifically to agave-related dependencies maintained by Anza.
A number of deprecated v1 Agave endpoints are set to be removed. Carefully check any scripts and automations to ensure these endpoints are not being called. These endpoints and recommended replacements are as follows:
Deprecated v1 API Call | v2 Replacement Call |
---|---|
confirmTransaction | getSignatureStatuses |
getSignatureStatus | getSignatureStatuses |
getSignatureConfirmation | getSignatureStatuses |
getConfirmedSignaturesForAddress | getSignaturesForAddress |
getConfirmedBlock | getBlock |
getConfirmedBlocks | getBlocks |
getConfirmedBlocksWithLimit | getBlocksWithLimit |
getConfirmedTransaction | getTransaction |
getConfirmedSignaturesForAddress2 | getSignaturesForAddress |
getRecentBlockhash | getLatestBlockhash |
getFees | getFeeForMessage |
getFeeCalculatorForBlockhash | isBlockhashValid or getFeeForMessage |
getFeeRateGovernor | getFeeForMessage |
getSnapshotSlot | getHighestSnapshotSlot |
getStakeActivation | getAccountInfo (alternative approach) |
Further deprecations are listed in the “breaking” section linked here related to the SDK and Solana client: https://github.com/anza-xyz/agave/blob/v2.0/CHANGELOG.md#200
Over the last several months, Anza core engineers, along with ecosystem developers, have been working to steadily migrate the Agave validator client software away from the Solana Labs repository. You can read our prior blog post on this topic here.
Since the founding of Anza at the start of 2024, the Agave validator software has been under active development as a fork of the original Solana Labs validator client. Changes to the Agave validator were mirrored back to the Solana Labs GitHub repository while the Solana Labs repo does not accept any new commits, issues or PRs. Once Agave v2 is released on mainnet-beta, the Solana Labs GitHub repository will be archived and no longer used.
The following deprecated validator arguments will be removed upon the release of Agave v2.0. Carefully review any automations and scripts to ensure these are not used:
Commands |
---|
--enable-rpc-obsolete_v1_7 (#1886) |
--accounts-db-caching-enabled (#2063) |
--accounts-db-index-hashing (#2063) |
--no-accounts-db-index-hashing (#2063) |
--incremental-snapshots (#2148) |
--halt-on-known-validators-accounts-hash-mismatch (#2157) |
Agave v2.0 is an important milestone in the evolution of the Solana ecosystem. Further announcements and information will follow in October of 2024, please monitor Anza communication handles and review the changelog for Agave v2.0 to ensure compatibility. Agave v2.0 is currently live on Solana testnet and devnet.
- General
- Feature Gates
- Technical
- Policy
- Schedule
- Migration
- Restart Instructions