メインコンテンツへスキップ
POST
getHistoricalAccountInfo
getHistoricalAccountInfo はベータ版です。パラメータ、料金、レスポンス形式、データの対象範囲は変更される可能性があります。

概要

getHistoricalAccountInfo は、過去のスロット時点、またはそのスロット内の特定のトランザクション直後の Solana アカウントを返します。Helius 独自の RPC メソッドです。標準の getAccountInfo は現在の状態のみを返します。 レスポンスには getAccountInfo と同じアカウントフィールドに加えて、lastUpdatedAt が含まれます。これは、返された状態を最後に書き込んだスロットとトランザクションです。 履歴は、エポック 1030 の開始時点の状態にあたるスロット 444,959,999(2026 年 9 月 7 日)以降で利用できます。それより前のスロットに対するリクエストでは、エラー -32018 が返されます。 getHistoricalAccountInfo は、Business プラン以上のメインネットで利用でき、ベータ期間中は 1 回の呼び出しあたり 0 クレジットです。料金は変更される可能性があります。

履歴上の位置を選択する

2 番目のパラメータは、履歴のどの時点を読み取るかを選択するクエリオブジェクトです。 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