概要
Transaction Historyエンドポイントは、任意のSolanaアドレスの人が読みやすい取引履歴を返します。生のインストラクションデータやアカウントリストを扱う代わりに、構造化された情報を取得できます。- 取引で何が起こったか(転送、スワップ、NFT活動)。
- 関与したアカウント。
- 転送されたSOLまたはトークンの量。
- 関連するメタデータ(トークンミントアドレス、トークン名、トークンシンボルなど)。
GET]リクエストを[/v0/addresses/{address}/transactions]に送信します。このエンドポイントはgetTransactionsForAddressRPCメソッドによって駆動されています。
使用タイミング
- アドレスの取引履歴をユーザーに表示する(ウォレット、ポートフォリオトラッカー、エクスプローラ)。
- 自分のデコーダーを作成することなく、事前解析済みの人が読みやすい履歴が必要。
- 取引タイプ、時間範囲、またはスロット範囲で履歴をフィルタリングする必要がある。
- ウォレットの完全なトークン履歴、関連するトークンアカウント(ATA)を含む必要がある—下記参照。
getTransactionsForAddressを使用してください。
クイックスタート
1
APIキーを取得
dashboard.helius.devでサインアップしてAPIキーをコピーします。
2
アドレストランザクションエンドポイントを取得
任意のSolanaアドレスの取引履歴を取得します。
- JavaScript
- Python
3
フィルタリングとページネーション
以下の[
type]、時間、スロットフィルタで結果を絞り、高ボリュームアドレスをシグネチャカーソルでページ送りします。ネットワークサポート
リクエストパラメータ
時間に基づくフィルタリング
スロットに基づくフィルタリング
フィルタリングの注意:
- 時間パラメーターはUnixタイムスタンプ(エポック以降の秒数)を使用し、スロットパラメーターはSolanaスロット番号を使用します。
- 同一リクエストで時間ベースとスロットベースのフィルタを組み合わせることはできません。
- 昇順には[
sort-order=asc]、降順には[sort-order=desc]を使用します。 - おおよその期間を知っているときは時間またはスロットフィルタを使用し、[
limit]と組み合わせてページサイズを制御します。
関連トークンアカウント
Solanaでは、ウォレットはトークンを直接保持しません。代わりにウォレットはトークンアカウントを所有し、そのトークンアカウントがトークンを保持します。例えば、USDCが送られてくると、それはウォレットのメインアドレスではなくUSDCトークンアカウントに入ります。 このエンドポイントは、ウォレットの完全なトークン履歴をクエリできる点がユニークであり、関連するトークンアカウント(ATA)を含みます。ネイティブRPCメソッドのような[getSignaturesForAddress]にはATAが含まれていません。
[token-accounts]フィルタはこの動作を管理します。
- [
none](デフォルト)—ウォレットアドレスを直接参照する取引のみを返します。ウォレットの直接インタラクションのみを気にする場合に使用します。 - [
balanceChanged](推奨)—ウォレットアドレスを参照するかウォレットが所有するトークンアカウントの残高を変更する取引を返します。スパムや関連性のない操作(手数料の徴収や委任など)を除外し、意味のあるウォレット活動をクリーンに表示します。 - [
all]—ウォレットアドレスまたはウォレットが所有するトークンアカウントを参照するすべての取引を返します。
フィルター
トランザクションタイプでフィルター
NFT販売、トークン転送、スワップなど、特定の取引タイプのみを取得します。- NFT販売
- トークン転送
- スワップ
ランタイムタイプフィルタリング
タイプフィルタリングはランタイムで行われます:APIは順にトランザクションを検索し、少なくとも50件のマッチングアイテムを見つけるまで続けます。検索ウィンドウ内で一致が見つからない場合、検索を続けるためのシグネチャを伴うエラーを返します。これは期待される動作であり、失敗ではありません。
before-signature]、昇順には[after-signature])を使用してください。
タイプフィルターの継続ループ(完全な例)
タイプフィルターの継続ループ(完全な例)
- タイプフィルタを使用すると、APIは一度に最大50件のトランザクションを検索します。
- 一致が見つからなかった場合、次回の検索を続行するためにエラーメッセージからのシグネチャを使用します。
- 降順で検索する場合は[
before-signature]を使用します(デフォルト、新しい順)。 - 昇順で検索する場合は[
after-signature]を使用します(古い順)—年代順の検索には必須です。 - 無限ループを防ぐために最大リトライ制限を実装します。
例
以下のシナリオは、時間とスロットの範囲、ソート順序、ATA、および複合フィルターをカバーします。時間範囲でフィルタ
時間範囲でフィルタ
特定の時間ウィンドウ内のトランザクションを取得します。
- 過去24時間
- 特定の日付範囲
スロット範囲でフィルタ
スロット範囲でフィルタ
特定のスロット範囲内のトランザクションを取得します。
ソート順序を変更
ソート順序を変更
昇順(古い順)でトランザクションを取得します。
関連トークンアカウントの転送を含む
関連トークンアカウントの転送を含む
関連トークンアドレス(ATA)を含むウォレットの完全な履歴をクエリします。
複数のフィルタを組み合わせる
複数のフィルタを組み合わせる
時間範囲とカスタムソート順序でタイプフィルタリングを組み合わせます。
ページネーション
高ボリュームのアドレスでは、各バッチの最後のシグネチャをカーソルとして使用して結果をページングします。before-signature]カーソルを進めます。
次のステップ
getTransactionsForAddress
トランザクション履歴とバックフィルのモダンなHeliusネイティブ代替品。
Wallet API
RESTエンドポイントで人が読みやすいウォレットデータを提供:残高、履歴、転送。
Parse Transactions
1つ以上の取引シグネチャを解析して人が読みやすいデータに変換します。
Getting Data overview
SolanaデータをクエリするためのHeliusオプションすべてを比較。