バックフィルとインデックス作成を高速化するアーカイブデータ
最先端のアーカイブシステムとgetTransactionsForAddressなどの独自RPCメソッドを使用し、Solanaの履歴データを最大10倍高速にクエリできます。



レイテンシを10分の1に、RPC呼び出しを100分の1に
Solanaのジェネシス以来の全履歴へ簡単にアクセスし、信頼性の高いバックエンドサービスを構築できます。
1回のRPC呼び出しでSolanaの全履歴にアクセス
getSignaturesForAddressとgetTransactionを1回の呼び出しに統合した新しいメソッドgetTransactionsForAddressで、データをより簡単にインデックス化できます。
- 逆順検索を使用して、最も古い結果から返します
- 時間ベースのフィルターを追加し、タイムスタンプまたはスロットで絞り込みます
- アドレスとトークンアカウントの履歴をまとめて取得します
{
"jsonrpc": "2.0",
"id": 1,
"method": "getTransactionsForAddress",
"params": [
"YOUR_ADDRESS_HERE",
{
"transactionDetails": "full",
"sortOrder": "asc", // Oldest first
"limit": 1000,
"filters": {
"tokenAccounts": "all",
"blockTime": {
"gte": 1735689600, // Jan 1, 2025
"lte": 1738368000 // Jan 31, 2025
},
"status": "succeeded"
}
}
]
}
- 逆順検索を使用して、最も古い結果から返します
- 時間ベースのフィルターを追加し、タイムスタンプまたはスロットで絞り込みます
- アドレスとトークンアカウントの履歴をまとめて取得します
ウォレットの全送金履歴を取得、
データの結合作業は不要
getTransfersByAddressを使用すると、詳細なフィルターを適用して、ウォレットアドレスの解析済みで人が読みやすいSOLおよびトークン送金レコードを取得できます。
- ミント、時間、金額、スロット、ステータス、方向、取引相手で送金を絞り込みます
- トランザクションの完全なペイロードではなく、簡潔で人が読みやすい送金オブジェクトを返します
- 本番アプリ向けのページネーションを使用して、ウォレットの全送金履歴を取得します
{
"jsonrpc": "2.0",
"id": 1,
"method": "getTransfersByAddress",
"params": [
"YOUR_ADDRESS_HERE",
{
"mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"direction": "in",
"with": "COUNTERPARTY_ADDRESS",
"filters": {
"amount": { "gte": 1000000 },
"blockTime": { "gte": 1735689600, "lte": 1738368000 },
"status": "succeeded"
},
"limit": 100
}
]
}
- ミント、時間、金額、スロット、ステータス、方向、取引相手で送金を絞り込みます
- トランザクションの完全なペイロードではなく、簡潔で人が読みやすい送金オブジェクトを返します
- 本番アプリ向けのページネーションを使用して、ウォレットの全送金履歴を取得します
Solanaのインデックス作成を
10倍高速化
パフォーマンスに最適化されたアーカイブシステムで履歴データを使用したデータベースのバックフィルを10倍高速化し、LaserStreamでデータを最新の状態に保てます。
- 本番負荷環境でP50検索時間8ms
- ペタバイト規模のNVMeを搭載したベアメタル上で稼働
- 冗長性を確保するため複数リージョンに複製
- 本番負荷環境でP50検索時間8ms
- ペタバイト規模のNVMeを搭載したベアメタル上で稼働
- 冗長性を確保するため複数リージョンに複製
“以前は、15,000件を超えるトランザクションを持つウォレットからAwakenの税務ツールにSolanaトランザクションを取り込むのに3〜5分かかっていました。getTransactionsForAddressなら60秒未満です。さらに、gTFAのスロットベースのフィルタリングにより、最新から最古へ遡るよりも迅速かつ簡単に、最後にインポートしたスロット以降の新しいトランザクションを継続的に同期できます。”

Solanaデータをバックフィルし、
最新の状態を維持
データセットを定義
日付またはスロットの範囲、データタイプ(ブロック、アカウント、プログラムなど)、フィルター(tokenAccountsなど)を選択し、データセットの範囲を設定します。
履歴データを取り込む
Amazon S3、ClickHouse、PostgreSQLなど、希望する保存先で構造化データセットを受け取れます
インデックスを最新に保つ
LaserStream gRPCまたはWebSocketsで新しいイベントをリアルタイムにストリーミングし、インデックスをSolanaの最新データと同期します。
履歴データのユースケース
インデックス作成
インデクサーを構築することなく、アーカイブデータでデータベースをすばやく初期化できます。
コンプライアンス
法規制や規制当局の要件に準拠するため、過去のトランザクションアクティビティを取得できます。
バックテスト
データセットをダウンロードして取引アルゴリズムをテストし、ROIを向上させ、リスクを軽減できます。
履歴分析
構造化データセットを分析し、オンチェーンのトレンド、フロー、ユーザー行動を明らかにできます。
レポート作成
アプリケーションと収益の履歴データをバックフィルし、正確なレポートを実現できます。
トレーニング
構造化データを使用し、完全かつ検索可能なSolanaデータセットでLLMをトレーニングできます。
履歴データに関するよくある質問
Solanaのアーカイブデータにおけるインデックス作成とは、履歴トランザクションデータを構造化してデータベースに整理し、高速かつ効率的に取得できるようにするプロセスです。Solana上でプロダクトを構築するほとんどの企業は、自社の事業に関連するインデックス(ステーブルコイン送金など)を管理します。バックフィルとは、Solanaのジェネシスブロック以降の任意の時点から履歴トランザクションデータを取得し、インデックスを構築するプロセスです。多くの場合、開発者はgetTransactionsForAddressのようなRPCメソッドを使用して、時間ベースのフィルターを適用し、並べ替え順(時系列または新しい順)を設定して、トランザクションのバッチをページネーションできます。大規模なバックフィルについては、当社チームにマネージドバックフィルをご相談ください。
セルフサービスでは、拡張されたgetTransactionsForAddressなどの既存RPCメソッドを使用してSolanaデータをバックフィルまたはインデックス化し、希望する保存先にデータを格納できます。マネージドバックフィルは、上記のプロセスを当社が代行するベータ版サービスです。セルフサービスオプションとして提供を開始する前に、バックフィルデータに関する課題や希望する保存先をより深く理解するため、当初はマネージドバックフィルサービスの利用を限定数のお客様に制限しています。
Solanaデータをインデックス化する推奨方法は、getTransactionsForAddress RPCメソッドを使用してSolanaの全アーカイブデータを取得し、PostgreSQLなど任意のデータベースやClickHouseなどのカラムナデータベースに保存したうえで、LaserStreamやEnhanced WebSocketsなどのSolanaデータストリーミングソリューションを使用して、インデックスをリアルタイムで更新することです。
getTransactionsForAddress(gTFA)RPCメソッドは、getSignaturesForAddressとgetTransactionを1回の呼び出しに統合した、Helius独自のアーカイブデータをクエリするためのSolana RPCメソッドです。開発者は、逆順検索、時間・ステータス・スロットベースのフィルタリング、ページネーションといった強力な新機能を使用し、最大100件の完全なトランザクションまたは1,000件の署名をバッチで取得できます。
getTransactionForAddressの新しいtokenAccountsフィルターは、Solanaアドレスに関連するすべてのトランザクション(そのアドレスのAssociated Token Accounts(ATA)に関連するすべてのトランザクションを含む)を1回の呼び出しで返します。以前は、開発者がgetTokenAccountsByOwnerをクエリした後、トークンアカウントごとにgetSignaturesForAddressをクエリする必要がありました。これは低速でコストが高く、多くの場合、数百回もの追加RPC呼び出しが必要でした。
はい。全体像を把握するには、Parsed Events APIを使用してアドレスの履歴をページ単位で取得できます。3,600を超えるSolanaプログラムで、対応している命令は名前付き引数とアカウントにデコードされ、対応箇所ではトークン送金の詳細と平易な要約も提供されます。デコードできない場合も、生の命令データは保持されます。生のトランザクションペイロードが必要な場合は、getTransactionsForAddressを使用してください。また、getTransfersByAddressを使用すると、アドレスの解析済みで簡潔なSOLおよびトークン送金レコードを取得できます。
すべてのAssociated Token Accounts(ATA)を含むSolanaウォレットの全履歴を取得するには、getTransactionsForAddress RPCメソッドを使用し、tokenAccountsフィルターをallに設定します。返されるトランザクションは、ウォレットのアドレスまたはそのウォレットが所有するトークンアカウントを参照している必要があります。詳しくは、1回の呼び出しでSolanaトークン履歴を取得する方法についてのガイドをご覧ください。
ほとんどのRPCプロバイダーが履歴データの提供に使用しているデフォルトのGoogle BigTableデータベースを置き換えるため、まったく新しいSolanaアーカイブシステムをゼロから構築しました。当社のインデックスは、一意の(トランザクション、アカウント)ペアごとに1つのエントリを保存します。現在、当社のインデックスには2.3兆行を超えるデータがあり、執筆時点でSolanaの4,500億件を超えるトランザクションを保持しています。この規模でも、本番負荷環境におけるP50検索時間は約8msです。また、スロット、時間、ステータスなどによる検索を実現するため、ほかのインデックスも構築しました。これらのインデックスはすべて、ペタバイト規模の最上位NVMeを搭載した専用ベアメタルホスト上で稼働し、複数リージョンに複製されています。これにより、開発者は履歴データへ高い信頼性、拡張性、低レイテンシでアクセスできます。
getBlockなどの標準RPCメソッドは低速で、小規模かつ特定のデータセットには適していません。getSignaturesForAddressやgetTransactionのようなメソッドをループすると、不要なRPCリクエスト、指数バックオフ、再試行ロジックが多数必要になります。これまで、これらの標準RPCメソッドは、ほとんどのRPCプロバイダーが使用するデフォルトのアーカイブデータストアであるGoogle BigTableにもアクセスしていました。当社は、履歴データの保存、アクセス、提供方法を最適化するため、独自のインデックスをゼロから構築しました。開発者がgetTransactionsForAddress(gTFA)メソッドをクエリすると、標準のgetSignaturesForAddressとgetTransactionメソッドが、追加の並べ替え、フィルタリング、ページネーションオプションを備えた単一のクエリに統合されます。カスタムインデックスを構築したことで、getTransactionsForAddressは開発者がクエリをより細かく制御できるようにし、ワークフローを簡素化して、データをより高速に返します。
トップチームからの信頼
getTransactionsForAddress(gTFA)エンドポイントにより、RPC呼び出しを40%削減できました。Heliusの最先端機能により、ユーザーへ最速かつ最も信頼性の高い体験を提供できます。
15,000件を超えるトランザクションを持つウォレットからSolanaトランザクションをAwakenの税務ツールへ取り込むには、以前は3~5分かかっていました。getTransactionsForAddressなら60秒未満です。さらに、gTFAのスロットベースのフィルタリングにより、最新から最古へさかのぼるよりも速く簡単に、前回インポートしたスロット以降の新規トランザクションを継続同期できます。
以前はSolanaでトランザクション履歴ワークフローを構築するため、複数の呼び出しを行い、ロジックをつなぎ合わせていました。Heliusの新しいgetTransactionsForAddressエンドポイントなら、1回のクエリで完全なトランザクションデータを取得し、フィルタリング、並べ替え、ページネーションまで一度に実行できます。エンジニアリング工数が大幅に削減され、ユーザーにより高速で信頼性の高い結果を提供できるようになりました。
RPCに関して、Heliusの対応は驚くほど迅速です。NFT圧縮のような最先端技術を扱ううえで、これは非常に貴重です。対応が速く、インデックス作成問題のデバッグ時間が減るため、優れたユーザー体験の構築により多くの時間を使えます。
私たちが最も重視するのはユーザーの安全です。トレーダーに最良価格と最小スプレッドを提供するため、LaserStreamから価格エンジンへ最新かつ最速のオンチェーンデータを供給しています。
Solanaのアクティビティが拡大を続ける中、HeliusはSolanaを代表するインフラプロバイダーの1社として際立っています。エンタープライズ級プラットフォームの要件を満たす信頼性の高いデータへ、当社チームがアクセスできるよう支えています。
Zetaで社内のインデックス作成とデータパイプラインを自ら構築した経験から、新しいチームにとってどれほど大変かを知っています。膨大なデータエンジニアリング時間と高額なAWS料金を削減できることは、当社にとって大きな利点です。
Heliusは非常に高速で信頼性が高く、Solanaで最高の開発者体験を求めるすべての人におすすめできます。Backpackのインフラの大部分を支えています。
getTransactionsForAddress(gTFA)エンドポイントにより、RPC呼び出しを40%削減できました。Heliusの最先端機能により、ユーザーへ最速かつ最も信頼性の高い体験を提供できます。
15,000件を超えるトランザクションを持つウォレットからSolanaトランザクションをAwakenの税務ツールへ取り込むには、以前は3~5分かかっていました。getTransactionsForAddressなら60秒未満です。さらに、gTFAのスロットベースのフィルタリングにより、最新から最古へさかのぼるよりも速く簡単に、前回インポートしたスロット以降の新規トランザクションを継続同期できます。
以前はSolanaでトランザクション履歴ワークフローを構築するため、複数の呼び出しを行い、ロジックをつなぎ合わせていました。Heliusの新しいgetTransactionsForAddressエンドポイントなら、1回のクエリで完全なトランザクションデータを取得し、フィルタリング、並べ替え、ページネーションまで一度に実行できます。エンジニアリング工数が大幅に削減され、ユーザーにより高速で信頼性の高い結果を提供できるようになりました。
RPCに関して、Heliusの対応は驚くほど迅速です。NFT圧縮のような最先端技術を扱ううえで、これは非常に貴重です。対応が速く、インデックス作成問題のデバッグ時間が減るため、優れたユーザー体験の構築により多くの時間を使えます。
私たちが最も重視するのはユーザーの安全です。トレーダーに最良価格と最小スプレッドを提供するため、LaserStreamから価格エンジンへ最新かつ最速のオンチェーンデータを供給しています。
Solanaのアクティビティが拡大を続ける中、HeliusはSolanaを代表するインフラプロバイダーの1社として際立っています。エンタープライズ級プラットフォームの要件を満たす信頼性の高いデータへ、当社チームがアクセスできるよう支えています。
Zetaで社内のインデックス作成とデータパイプラインを自ら構築した経験から、新しいチームにとってどれほど大変かを知っています。膨大なデータエンジニアリング時間と高額なAWS料金を削減できることは、当社にとって大きな利点です。
Heliusは非常に高速で信頼性が高く、Solanaで最高の開発者体験を求めるすべての人におすすめできます。Backpackのインフラの大部分を支えています。



