跳转到主要内容
POST
getHistoricalAccountInfo
getHistoricalAccountInfo 处于 Beta 阶段。参数、定价、响应格式和数据覆盖范围可能会发生变化。

概述

getHistoricalAccountInfo 返回 Solana 账户在过去某个槽位或该槽位中特定交易刚执行后的状态。这是 Helius 独有的 RPC 方法。标准的 getAccountInfo 仅返回当前状态。 响应包含与 getAccountInfo 相同的账户字段,并额外包含 lastUpdatedAt:最后一次写入所返回状态的槽位和交易。 历史数据从槽位 444,959,999(2026 年 9 月 7 日)起可用,即纪元 1030 开始时的状态。请求更早的槽位会返回错误 -32018。 getHistoricalAccountInfo 在主网上面向 Business 及更高级别的套餐提供,Beta 期间每次调用消耗 0 个积分。定价可能会发生变化。

选择历史位置

第二个参数是一个查询对象,用于选择要读取的历史时间点: transactionIndex 要求提供 slot。要读取索引为 N 的交易执行前的账户状态,请查询 transactionIndex: N - 1。对于槽位中的第一笔交易,请查询前一个槽位,并且不要提供 transactionIndex。 纪元奖励等非交易写入会在槽位结束时应用。包含 transactionIndex 的查询绝不会包含这些写入。

请求示例

解读响应

  • value 是账户在所请求位置的状态;如果账户当时不存在,则为 null:账户尚未创建或已关闭。值为 null 的响应不包含 lastUpdatedAt。
  • lastUpdatedAt.slot 和 lastUpdatedAt.transactionIndex 标识产生此状态的写入。该写入发生在你请求的位置或之前。
  • 当写入发生在交易之外(例如纪元奖励)时,lastUpdatedAt.transactionIndex 为 null。
  • lastUpdatedAt.slot 为 444,959,999 且 transactionIndex 为 null,表示自历史数据覆盖开始以来,该账户未发生变化。这并不表示账户是在该槽位写入的。
  • context.slot 是 Helius 处理请求时已索引的最新槽位,而不是你查询的槽位。
  • jsonParsed 代币账户使用铸币在所请求位置的小数位数。如果无法读取该位置的铸币,账户将回退到 base64。
要列出账户过去的每个状态,请使用 lastUpdatedAt 作为游标。请参阅回溯账户历史记录。

错误

相关方法

Historical Accounts Guide

了解历史账户方法的位置、覆盖范围和 lastUpdatedAt 的工作原理

getHistoricalTokenAccountsByOwner

列出钱包在过去某个槽位的代币账户

getTransactionsForAddress

查找你要检查的交易对应的槽位和 transactionIndex

getAccountInfo

读取账户的当前状态

请求参数

string
必填
要读取的账户地址,使用 Base-58 编码。
number
要读取状态的槽位。返回该槽位结束时的账户状态。最早支持的槽位是 444959999,即纪元 1030 开始时的状态。省略时,将读取最新已索引的槽位,上限为所请求的确认级别。
number
交易在槽位中的位置。返回该交易刚执行后的账户状态,而不是槽位结束时的状态。必须提供 slot。
string
默认值:"base64"
账户数据的编码格式。不支持 base58 和 binary。
  • base64
  • base64+zstd
  • jsonParsed
object
仅返回每个账户数据的一个切片。适用于 base64 和 base64+zstd 编码。
number
必填
开始读取位置的字节偏移量。
number
必填
要返回的字节数。
string
默认值:"finalized"
确认级别。不支持 processed。
  • finalized
  • confirmed
number
可评估该请求的最小槽位。

授权

api-key
string
query
必填

你的 Helius API 密钥。你可以在控制面板中免费获取。

请求体

application/json
jsonrpc
enum<string>
默认值:2.0
必填

JSON-RPC 协议版本。

可用选项:
2.0
示例:

"2.0"

id
string
默认值:1
必填

请求的唯一标识符。

示例:

"1"

method
enum<string>
默认值:getHistoricalAccountInfo
必填

要调用的 RPC 方法名称。

可用选项:
getHistoricalAccountInfo
示例:

"getHistoricalAccountInfo"

params
(string | 查询 · object | 配置 · object)[]
必填

包含账户地址、用于选择历史位置的可选查询对象,以及可选配置对象的数组。

Required array length: 1 - 3 elements

要读取的账户的 Base-58 编码地址。

示例:

"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"

响应

已成功检索历史账户状态。

jsonrpc
enum<string>

JSON-RPC 协议版本。

可用选项:
2.0
示例:

"2.0"

id
string

与请求匹配的标识符。

示例:

"1"

result
object