
Agave 2.0への移行: 開発者向けガイド
はじめに
Agave v2.0は、Solana Breakpoint 2024 Singaporeの開催後数週間以内にSolana Mainnet-Betaで公開される予定です。このメジャーアップデートには、すべてのSolana開発者が把握しておくべき複数の破壊的変更、APIエンドポイントの削除、クレート名の変更が含まれています。本記事に加えて、Anzaが先日GitHubで公開した移行ガイドも確認することを推奨します。
Agave v2.0は現在、SolanaのTestnetおよびDevnetクラスターで稼働しています。このリリースは、Solanaエコシステムの進化とマルチクライアントネットワークへの移行における重要な節目です。Anzaチームは、ローンチ前にAgave 2.0の包括的かつ詳細な解説を公開する予定です。本記事では、移行準備の実務的な側面に範囲を限定します。
削除されるRPCエンドポイントとSDK呼び出し
廃止済みおよび非推奨となっている複数のAgave v1 RPCエンドポイントが削除される予定です。
具体的には:
getRecentBlockhashgetConfirmedSignatureForAddresses2getConfirmedTransactiongetConfirmedBlockgetStakeActivationgetFeesconfirmTransactiongetSignatureStatusgetSignatureConfirmationgetTotalSupplygetConfirmedSignaturesForAddressgetConfirmedBlocksgetConfirmedBlocksWithLimitgetFeeCalculatorForBlockhashgetFeeRateGovernorgetSnapshotSlot
Heliusの社内分析によると、大半のお客様はこれらの変更による影響を受けないと見込んでいます。ただし、一部のお客様は現在も以下のエンドポイントを使用しています。
getRecentBlockhashgetConfirmedSignatureForAddresses2getConfirmedTransactiongetConfirmedBlockgetStakeActivationgetFees
すべての開発者は、2.0 Mainnet-Betaクライアントのリリース前に、これらの呼び出しへの参照がないか確認し、推奨されている代替手段へ適切に更新することを強く推奨します。
画像に示されているgetAccountInfoの代替手段は、こちらで確認できます。
SDKの破壊的変更は以下のとおりです。
- Borsh v0.9のサポートを削除。v1またはv0.10を使用してください(#1440)
- RentおよびEpochScheduleではCopyトレイトが自動導出されなくなりました。**clone()**の使用に切り替えてください
- solana-sdk:非推奨シンボル)を削除
- solana-program:非推奨シンボルを削除
破壊的変更の完全な一覧は、Agaveの変更履歴で確認できます。
名前が変更されるクレート
異なるチームが管理するFiredancerなど、複数のSolanaバリデータクライアントの導入に対応するため、いくつかのクレート名が変更されます。これらのクレート名に「Agave」を追加することで、AnzaがAgaveバリデータクライアント向けに管理する依存関係であることを明確に示します。この変更により、Agave関連の依存関係と、他のチームが管理する依存関係をより明確に区別できます。
対象となるクレートは以下のとおりです。
solana-validatorsolana-ledger-toolsolana-watchtowersolana-installsolana-geyser-plugin-interfacesolana-cargo-registry
開発者は、自動化処理やスクリプトにこれらのクレートへの参照がないか確認し、適切に更新してください。
削除されるバリデータ引数
バリデータ運用者向けには、Agave v2.0のリリース時に以下の非推奨バリデータ引数が削除されます。
--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)
繰り返しになりますが、バリデータ運用者は、これらが使用されていないことを慎重に確認してください。
最後に、従来のSolana Labs GitHubは、Agave v2.0のリリース時にアーカイブされます。開発者は、すべての活動をAnza Agave GitHubリポジトリへ移行してください。
締めくくりとして、Solana DevRelチームのNick Frostbutter が最近の変更履歴動画で述べた言葉を紹介します。「非推奨の警告が出ているものを使用している場合は、必ずコードをアップグレードしてください。」
以上、短いお知らせでした。Breakpointで多くの皆さまにお会いできることを楽しみにしています!
関連記事
Heliusを購読
Solana開発の最新情報や新しい記事の公開通知を受け取れます


