HTTP メソッド
getTokenAccountsByOwnerV2
特定のウォレットアドレスが所有するSPLトークンアカウントを効率的に取得するための、カーソルベースのページネーションとchangedSinceSlotサポートを含むgetTokenAccountsByOwnerの強化版です。
POST
getTokenAccountsByOwnerV2
概要
getTokenAccountsByOwnerV2 は、標準の getTokenAccountsByOwner メソッドを強化したバージョンで、トークンポートフォリオの効率的なクエリと広範なトークン保有を持つウォレットの処理に特化しています。このメソッドはカーソルベースのページネーションとインクリメンタルアップデート機能を導入しています。
V2の新機能:
- カーソルベースのページネーション: 1から10,000トークンアカウントまでのリクエスト制限の設定
- インクリメンタルアップデート: 最近変更されたトークンアカウントのみを取得するために
changedSinceSlotを使用 - ポートフォリオのスケーラビリティ: 数千のトークンアカウントを持つウォレットを効率的に処理
- 後方互換性: すべての既存の
getTokenAccountsByOwnerパラメータとフィルタをサポート - オプションの
withContext:trueはslotとapiVersionをresult.contextに追加します; 省略またはfalseで含まれません
主な利点
大規模ポートフォリオ
数千のトークンアカウントを持つウォレットを時間切れやメモリ問題なしに処理
リアルタイムトラッキング
インクリメンタルアップデートのための
changedSinceSlotを使用してポートフォリオの変化をリアルタイムで監視withContext (オプション)
コンフィグオブジェクト (params[2]) のブール値。result の形状のみが変わり、フィルタ、制限、ページネーションは変わりません。省略またはfalse: result.valueはトークンアカウントの 配列。true: result.contextとresult.valueを オブジェクト (accounts, paginationKey) に加えます。両方を処理する場合はArray.isArray(result.value)で分岐します。
ページネーションのベストプラクティス
基本的なポートフォリオクエリ
インクリメンタルポートフォリオアップデート
トークンプログラムサポート
getTokenAccountsByOwner からの移行
移行は簡単です - 既存のクエリにページネーションパラメータを追加してください:関連メソッド
getTokenAccountsByOwner
ページネーションなしのオリジナルメソッド
getProgramAccountsV2
プログラムアカウントクエリのためのV2メソッド
リクエストパラメータ
Solanaウォレットアドレス(アカウント所有者のpubkey)をbase-58エンコードされた文字列として指定。
特定のトークンまたはNFTのアカウントのみを取得するための特定のSolanaトークンミントアドレス。
トークンアカウントを作成した特定のSolanaトークンプログラムID(通常はSPLトークンプログラム)。
リクエストのコミットメントレベル。
confirmedfinalizedprocessed
リクエストが評価されることができる最小スロット。
true の場合、result.context(スナップショットメタデータ: slot, apiVersion)を返し、
accountsとpaginationKeyをオブジェクトとしてresult.valueにネストされます。false
または省略時、 result.valueはこのページのトークンアカウント配列であり、paginationKey
はresultに配置されます。同じフィルタリングと制限が適用されます。アカウントデータのスライスを要求。
返すバイト数。
読み取りを開始するバイトオフセット。
アカウントデータのエンコード形式。
base58base64base64+zstdjsonParsed
リクエストごとに返されるトークンアカウントの最大数(1〜10,000)。
次のページを取得するためのBase-58エンコードされたページネーションクレデンシャル。前のレスポンスのpaginationKeyを使用。
このスロット番号以降に変更されたトークンアカウントのみを返します。インクリメンタルポートフォリオアップデートに便利です。
ボディ
application/json
JSON-RPCプロトコルバージョン。
利用可能なオプション:
2.0 例:
"2.0"
リクエストのためのユニークな識別子。
例:
"1"
呼び出すRPCメソッドの名前。
利用可能なオプション:
getTokenAccountsByOwnerV2 例:
"getTokenAccountsByOwnerV2"
特定の公開鍵に所有されるページネーションされたトークンアカウントを照会するためのパラメータ。
base-58でエンコードされた文字列としての、トークン保有を照会するためのアカウントオーナーのSolanaウォレットアドレス(pubkey)。
例:
"A1TMhSGzQxMr1TboBKtgixKz1sS6REASMxPo1qsyTSJd"
レスポンス
所有者によるページネーションされたトークンアカウントを正常に取得しました。
getTokenAccountsByOwnerV2