クイックスタート
トランザクション最適化
コンピュートユニット、優先料金、トランザクション送信を最適化
データ取得
アカウントとプログラムデータを効率的に取得するパターン
リアルタイムモニタリング
WebSocket サブスクリプションとストリーミングデータの最適化
ベストプラクティス
パフォーマンスガイドラインとリソース管理
トランザクション最適化
コンピュートユニット管理
1. 実際の使用量を判断するためにシミュレートする:優先料金の最適化
1. 動的料金見積もりを取得する:トランザクション送信のベストプラクティス
- 標準的なアプローチ
- 確認付き
データ取得の最適化
強化されたページネーションメソッド (V2)
大規模なデータクエリには、新しい V2 メソッドをカーソルベースのページネーションで使用します:⚡ パフォーマンス向上
getProgramAccountsV2 と getTokenAccountsByOwnerV2 は大規模データセットを扱うアプリケーションに重大なパフォーマンス改善を提供します:- 設定可能な制限: リクエストあたり1-10,000アカウント
- カーソルベースのページネーション: 大規模クエリでのタイムアウトを防止
- インクリメンタル更新: リアルタイム同期には
changedSinceSlotを使用 - メモリ使用の改善: 全てを一度に読み込む代わりにデータをストリームする
データ取得最適化
効率的なアカウントクエリ
- シングルアカウント
- 複数アカウント
- プログラムアカウント
トークン残高の確認
トランザクション履歴
完全なアドレス履歴を得るには、アドレス専用のgetTransactionsForAddress メソッドを使います。この方法は、トークンのアカウント活動を含む完全なトランザクションデータを一度に返します(Helius専用)。
送金履歴
トークンやSOLの動きだけが必要な場合 - 支払い、ポートフォリオ活動、バランス調整 - は、getTransfersByAddress を使用します(Helius専用、Developer プラン以上が必要)。これは、オーナー、ミント、量、桁数が解決された解析済みの転送オブジェクトを返すため、トランザクションの解析を完全にスキップできます。
getTransactionsForAddress を、台帳や支払い追跡のためのクリーンな転送記録が必要な場合は getTransfersByAddress を使用してください。
リアルタイムモニタリング
アカウントサブスクリプション
プログラムアカウントのモニタリング
トランザクションモニタリング
高度なパターン
スマート再試行ロジック
メモリ効率の良い処理
接続プーリング
パフォーマンスモニタリング
RPC使用量の追跡
ベストプラクティス
コミットメントレベル
- 処理済み
- 確認済み
- 確定済み
- 使用対象: WebSocket サブスクリプション、リアルタイム更新
- レイテンシー: 約400ms
- 信頼性: ほとんどのアプリケーションにとって良好
リソース管理
エラーハンドリング
避けるべき一般的な落とし穴
関連メソッド
このガイドで取り上げた最適化技術は、次の WebSocket と RPC メソッドを参考にしています:getTransactionsForAddress
フィルタリング、ソート、トークンアカウントサポート付きの完全なトランザクション履歴 (Helius専用)
getTransfersByAddress
支払いと調整のための解析済みトークンと SOL 転送履歴 (Helius専用)
getTransaction
シグネチャで完全なトランザクション詳細を取得
getProgramAccounts
プログラムが所有するすべてのアカウントを取得
getTokenAccountsByOwner
ウォレットのトークンアカウントを取得
getMultipleAccountsInfo
複数のアカウント詳細をバッチで取得
getAccountInfo
単一のアカウント情報を取得
accountSubscribe
WebSocket 経由でアカウントの変更を購読
programSubscribe
WebSocket 経由でプログラムアカウントの変更を購読
logsSubscribe
WebSocket 経由でトランザクションログを購読
まとめ
これらの最適化技術を実装することで、以下を達成できます:- API コールボリュームの60-90%削減
- リアルタイムオペレーションの大幅なレイテンシー削減
- ターゲットクエリによる帯域幅使用量の削減
- スマート再試行ロジックによるエラー耐性の向上
- 効率的なリソース使用による運用コストの削減
次のステップ
これらの最適化を実装する準備は整いましたか?トランザクション固有のベストプラクティスについては、トランザクション最適化ガイド をご覧ください。