helius-laserstream SDKを使用します。
前提条件: このガイドは、LaserStream gRPC クイックスタートを完了し、APIキーを取得していることを前提としています。
監視の種類
- スロット更新
- ブロックデータ
- ブロックメタデータ
ネットワークコンセンサスの進行を追跡コミットメントレベルにわたるスロットの進行を監視します。スロットデータに含まれるもの: スロット番号、親スロット、コミットメントステータス (
processed / confirmed / finalized)、およびリーダー情報。推奨用途: ネットワーク健全性の監視、スロットタイミングの分析、コンセンサス追跡。
実用例
例1: ネットワーク健康モニター
スロットの進行を追跡し、ネットワーク問題を特定します。例2: ブロック生成モニター
ブロック生成と取引量を追跡します。例3: フィルタリングされたブロックモニター
特定のプログラム活動を含むブロックを監視します。データ構造
スロットデータ構造
スロットデータ構造
processed (初期)、confirmed (過半数投票済み)、finalized (不可逆)。ブロックメタデータ構造
ブロックメタデータ構造
フルブロック構造
フルブロック構造
Number(...)でラップします。各トランザクション内では、meta.fee、meta.preBalances、meta.postBalancesなども文字列です。パフォーマンスの考慮事項
スロットモニタリング
軽量:非常に低帯域、最小限の処理オーバーヘッド。監視ダッシュボードに適しています。
ブロックメタデータ
バランス:適度な帯域、ブロックレベルの洞察が得られます。アナリティクスに適しています。
フルブロック
高ボリューム:完全な取引データを含み、頑丈な処理が必要です。フィルターと組み合わせて使用します。
フィルタリングされたブロック
最適化:
accountIncludeを使用し、必要のないincludeAccounts/includeEntriesを無効にします。ユースケース
- ネットワークモニタリング
- 分析とメトリクス
- アプリケーション同期
ネットワークの健全性とパフォーマンスを追跡 — スロットタイミング、混雑、コンセンサス。
エラーハンドリング
スロットの欠落
スロットの欠落
症状: スロットの進行にギャップがあります。原因: ネットワーク接続問題、バリデータのダウンタイム、クライアント処理の遅延。ソリューション: スロットのギャップを追跡してアラートを設定する; 履歴リプレイを通じてキャッチアップロジックを実装する; 接続の健全性を監視する。
高ボリューム
高ボリューム
症状: ブロックデータが多すぎます。ソリューション: フルブロックの代わりにブロックメタデータを使用; アカウントフィルターを適用; 不要な項目(エントリ、アカウント)を無効化; 非同期処理。
タイミングの問題
タイミングの問題
症状: スロットタイミングが不一致。分析: 移動平均を計算する; 偏差を追跡する; ネットワーク健康メトリクスを監視する; バリデータのパフォーマンスと相関を取る。
ベストプラクティス
プロダクションガイドライン:
- メタデータから始める — フルブロックを購読する前にブロックメタデータを使用
- フィルターを適用する —
accountIncludeを使用して関係のないデータを削減 - タイミングを監視する — スロットの進行をネットワーク健全性のカナリアとして追跡
- ギャップを処理する — 履歴リプレイと組み合わせて欠けているスロットを再接続時に自動バックフィル
- 非同期処理 — 重い計算でストリーム処理をブロックしない
- ニーズに合わせたコミットメント — 低レイテンシUIには
processed、状態書き込みにはconfirmed/finalized
次のステップ
トランザクションモニタリング
プログラム、アカウント、投票、または失敗ステータスでトランザクションをフィルタリングします。
ストリームポンプAMMデータ
実例: Pump AMMトランザクションを監視します。
トランザクションデータのデコード
バイナリ
transactionUpdateペイロードを読み取り可能なSolanaトランザクションに解析します。イエローストーンプロトコルリファレンス
生のイエローストーングRPCプロトコルに対する同じワークフロー。