新消息:Helius 收购 Light Protocol
Agave 2.0 迁移:开发者指南
博客/更新

Agave 2.0 迁移:开发者指南

研究员X 上的 Lostin
阅读需 3 分钟

简介

Agave v2.0 已计划在 Solana Breakpoint 2024 新加坡站结束后的几周内于 Solana Mainnet-Beta 上线。这次重大更新包含多项破坏性变更、API 端点移除和 crate 重命名,所有 Solana 开发者都应关注。除本文外,我们还建议开发者查看 Anza 最近在 GitHub 上发布的迁移指南。

Agave v2.0 目前已在 Solana 的 Testnet 和 Devnet 集群上线。此次发布是 Solana 生态系统演进以及向多客户端网络转型过程中的重要里程碑。Anza 团队预计会在正式发布前提供全面深入的 Agave 2.0 解析。本文仅介绍迁移准备中的实操事项。

已移除的 RPC 端点和 SDK 调用

多个过时且已弃用的 v1 Agave RPC 端点即将被移除。

具体包括: 

  • getRecentBlockhash
  • getConfirmedSignatureForAddresses2
  • getConfirmedTransaction
  • getConfirmedBlock
  • getStakeActivation
  • getFees
  • confirmTransaction
  • getSignatureStatus
  • getSignatureConfirmation
  • getTotalSupply
  • getConfirmedSignaturesForAddress
  • getConfirmedBlocks
  • getConfirmedBlocksWithLimit
  • getFeeCalculatorForBlockhash
  • getFeeRateGovernor
  • getSnapshotSlot

根据 Helius 的内部分析,我们认为大多数客户不会受到这些变更的影响。不过,仍有少部分客户在积极使用以下端点:

  • getRecentBlockhash
  • getConfirmedSignatureForAddresses2
  • getConfirmedTransaction
  • getConfirmedBlock
  • getStakeActivation
  • getFees

图片中所示的 getAccountInfo 替代方法可在此处查看。

SDK 的破坏性变更包括:

完整的破坏性变更列表可在 Agave 变更日志中查看。

crate 重命名

为支持引入由不同团队维护的多个 Solana 验证器客户端,例如 Firedancer,多个 crate 将进行重命名。通过在这些 crate 名称中添加“Agave”,可以明确标识它们是由 Anza 专门为 Agave 验证器客户端维护的依赖项。这项变更可以更清楚地区分 Agave 相关依赖项与其他团队维护的依赖项。

受影响的 crate 包括: 

  • solana-validator
  • solana-ledger-tool
  • solana-watchtower
  • solana-install
  • solana-geyser-plugin-interface
  • solana-cargo-registry

开发者应检查所有自动化流程或脚本中是否引用了这些 crate,并进行适当更新。

已移除的验证器参数

对于验证器运营者,以下已弃用的验证器参数将在 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 开发者关系团队的 Nick Frostbutter 在近期变更日志视频中的一句话作为结尾:“如果你正在使用任何带有弃用警告的内容,就必须确保升级代码。”

这篇简短的公告就到这里。希望能在 Breakpoint 见到你们!

订阅 Helius

及时了解 Solana 开发的最新动态,并在我们发布新内容时收到更新

放大图片