Skip to content

Agave v2.0 Transition Guide

Rex St. John | Anza edited this page Aug 20, 2024 · 5 revisions

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.

Step 1: Review list of renamed Crates & check any automation scripts to avoid problems

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.

Step 2: Review removed RPC endpoints and SDK elements

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

Step 3: Understand the deprecation of the Solana Labs GitHub Repo vs Anza Agave repo

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.

Step 4: Review removed validator arguments

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)

Summary

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.

Clone this wiki locally