Skip to main content

为什么要迁移?

增强交易API是一个处于维护模式的遗留产品:它仍然有效,但不再接受新的解析器类型或功能工作。其继任者是解析事件,通过IDL目录解码指令,该目录也支持解析流 区别在于交易的解码方式。增强交易将交易分类为固定列表的事件类型之一(TRANSFERSWAPNFT_SALE,…)并返回其已知类型的预构建摘要。解析事件针对程序的IDL——超过3600个程序——解码每个指令到命名参数和命名账户,并在其上构建摘要: 解析事件在付费计划中处于开放测试版。在全面上市前,API可能仍会更改;增强交易在此期间仍然有效,因此您可以按自己的节奏迁移。

端点映射

两个解析事件方法都是POST请求到https://mainnet.helius-rpc.com,使用您已经在使用的api-key查询参数进行身份验证。 历史端点将所有输入从查询字符串参数移入JSON体。请求体拒绝未知字段,因此拼写错误会被明显地拒绝,而不是被静默忽略。

前后对比

同一任务——在两个API中获取钱包的解析历史:

参数映射

解析交易

POST /v0/transactionsPOST /v1/parsed-events/transactions 新选项没有旧选项等效:includeRawTransaction返回原始Solana交易负载和解析结果。

交易历史

GET /v0/addresses/{address}/transactionsPOST /v1/parsed-events/transaction-history。每个查询参数成为JSON体字段: 在此过程中,三个默认值发生变化:
  • limit默认为100而不是10。
  • commitment默认为confirmed而不是finalized;不支持processed
  • sortOrder保持相同的asc/desc值,以desc作为默认值。
对于分页,建议从上一个响应中过滤paginationToken而不是beforeSignature——请参见下文的简化分页 旧的type参数没有解析事件等效——没有服务器端交易类型过滤。客户端侧在parsed.summary.type上过滤(swaptransferadd_liquidity,…),或者在解码指令本身上过滤,这比旧的固定类型更精确。对于实时特定类型的订阅,解析流在服务器端指令级别进行过滤。

响应字段映射

增强交易返回一个丰富交易的平面数组。解析事件将每个结果包装在一个信封中——{ signature, parserStatus, parsed }——历史响应将数组包装在一个包含paginationToken的页面对象中。解析字段映射如下: 最大的变化是一个没有旧等效项的新字段:parsed.instructions[]包含执行顺序中的每个顶级和内层指令,其中decoded.argsdecoded.accounts从程序的IDL中命名。增强交易为每个交易提供一个事件摘要,解析事件提供摘要完整解码指令列表。有关每个字段,请参见解析响应

迁移步骤

1

交换端点

将解析交易调用指向POST /v1/parsed-events/transactions,将历史记录调用指向POST /v1/parsed-events/transaction-history。同一主机,同一api-key查询参数。历史记录请求从GET带查询参数更改为带JSON体的POST——根据上面的映射移动每个参数。
2

更新响应处理

解开新信封:检查parserStatus === "OK",然后从parsed而不是顶级读取字段。重命名timestampblockTime,从summary中读取descriptiontype(保护null),并在旧代码读取tokenAmount的位置除以rawTokenAmount
3

替换类型过滤

旧代码通过type=...时,在客户端侧对返回项进行parsed.summary.typeparsed.instructions[]过滤——例如,“指令中programId为Jupiter且instructionNameroute”的位置替换type=SWAP为您可以实际验证的东西。如果类型过滤器存在是为了驱动实时订阅,将该消费者移动到解析流,该流在服务器端的指令级别进行过滤。
4

简化分页

paginationToken替换before-signature光标循环:
paginationToken缺失时,循环结束。旧的运行时搜索错误(“未能在搜索期内找到事件”)及其继续签名处理完全消失——删除该代码。
5

验证旧输出

对于一个示例地址,从两个API获取相同页面并比较签名集合、费用和转账金额。然后部署并删除旧代码路径。在您迁移期间,增强交易保留工作——没有强制截止。

行为差异审核

  • 默认承诺。 历史默认为confirmed,而旧端点默认为finalized。如果您的管道依赖于最终性,请显式传递commitment: "finalized"。不支持processed
  • 逐项错误。 无法解析的签名不再导致请求失败——它作为一个带有parserStatus: "ERROR"parserError的项返回。请逐项而不是逐请求处理。
  • 摘要覆盖范围。 对于没有识别到的交易级动作的交易,summarynull。在这种情况下,旧API返回type: "UNKNOWN";新API仍然提供每个解码指令供您使用。
  • 访问。 解析事件在付费计划中处于开放测试版,并且在全面上市前,API可能仍会更改。

让AI代理进行迁移

如果您使用Claude Code、Cursor或其他编码代理,请将以下提示粘贴到您的代码库代理会话中。它会查找增强交易调用点并重写它们。
该提示是自包含的——代理不需要访问此页面。有关代理就绪文档、MCP搜索和技能,请参见Helius for AI agents

下一步

解析事件快速入门

解析您的第一笔交易,获取地址历史,并分页浏览结果。

解析响应

解析交易、转账和指令的字段参考。

解析流

实时通过WebSocket进行相同解码,服务器端过滤。

getTransactionsForAddress

带令牌账户支持和服务器端过滤的原始交易历史。