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 (link)
getSignatureStatus getSignatureStatuses (link)
getSignatureConfirmation getSignatureStatuses (link)
getConfirmedSignaturesForAddress (link) getSignaturesForAddress (link)
getConfirmedBlock (link) getBlock (link)
getConfirmedBlocks (link) getBlocks (link)
getConfirmedBlocksWithLimit (link) getBlocksWithLimit (link)
getConfirmedTransaction (link) getTransaction (link)
getConfirmedSignaturesForAddress2 (link) getSignaturesForAddress (link)
getRecentBlockhash (link) getLatestBlockhash (link)
getFees (link) getFeeForMessage (link)
getFeeCalculatorForBlockhash (link) isBlockhashValid (link) or getFeeForMessage (link)
getFeeRateGovernor (link) getFeeForMessage
getSnapshotSlot (link) getHighestSnapshotSlot (link)
getStakeActivation (link) NONE (link)