Solana 主网上的版本化交易

Solana 主网正在启用版本化交易 — 以下是您需要了解的信息。

Solana 主网上的版本化交易
solana主网上的版本化交易

以下是您为即将到来的 Solana 主网功能激活做准备以及如何避免错误发生时需要了解的所有信息。

Solana 基金会估计,在2022 年 10 月 10 日星期一,纪元开始时358,将发生一项功能激活,启用版本化交易—“允许在 Solana 运行时中使用附加功能的新交易格式,包括地址查找表”。

避免版本化交易更新带来的问题

此激活可能会引发代码中的异常并影响生产。

以下方法受此更改影响:

  • 获取交易
  • 获取区块

为了避免潜在的问题,您需要调整代码以添加新参数,否则,在运行某些方法时可能会返回错误。如果没有更改,您在请求包含新版本交易的块时将会收到错误

将此参数添加到您的 getBlock 和 getTransaction 请求中

该请求需要具有以下附加参数:
maxSupportedTransactionVersion: 0

例如:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getBlock",
  "params": [
    94101948,
    {
      "encoding": "json",
      "maxSupportedTransactionVersion": 0,
      "transactionDetails": "full",
      "rewards": false
    }
  ]
}

如果这个新参数没有在请求中显式添加,maxSupportedTransactionVersion则默认为legacy,因此任何包含版本0或更高版本的版本化交易的块都将被客户端回答为错误。

我们对这些方法的文档进行了更新,以反映新的要求,并提供了多种语言和库的示例:

我们还建议 getBlock使用jsonParsed编码进行请求,这会将版本化交易的查找地址转换为我们现在习惯在字段中看到的地址pre/postBalances


有关如何准备这些更改并将其集成到代码中的更多详细信息,我们建议检查以下资源:

💡

原文链接:Versioned Transactions on Solana Mainnet
本文由SlerfTools翻译,转载请注明出处。

SlerfTools专为Solana设计的工具箱,致力于简化区块链操作,提供无编程全可视化界面,使发币管理流动性无代码创建Dapp等复杂过程变得安全简单。