メインコンテンツへスキップ
スロットとブロックの監視は、Solanaのネットワークコンセンサス、ブロック生成タイミング、全体的な健康状態を把握する手段です。LaserStreamを使用すると、スロットの進行、ブロックの確定化、ネットワークのパフォーマンス指標をリアルタイムで追跡できます。helius-laserstream SDKを使用します。
前提条件: このガイドは、LaserStream gRPC クイックスタートを完了し、APIキーを取得していることを前提としています。

監視の種類

ネットワークコンセンサスの進行を追跡コミットメントレベルにわたるスロットの進行を監視します。
スロットデータに含まれるもの: スロット番号、親スロット、コミットメントステータス (processed / confirmed / finalized)、およびリーダー情報。
推奨用途: ネットワーク健全性の監視、スロットタイミングの分析、コンセンサス追跡。

実用例

例1: ネットワーク健康モニター

スロットの進行を追跡し、ネットワーク問題を特定します。

例2: ブロック生成モニター

ブロック生成と取引量を追跡します。

例3: フィルタリングされたブロックモニター

特定のプログラム活動を含むブロックを監視します。

データ構造

各スロットは約400msのネットワーク時間を表します。3つのコミットメントレベルは段階的に強力な保証を反映しています: processed (初期)、confirmed (過半数投票済み)、finalized (不可逆)。
u64フィールド (スロット、親) はNumber.MAX_SAFE_INTEGERを超える精度を維持するために文字列として配信されます。算術が必要な場合はNumber(slot.slot)を使用して変換します。statusは数値列挙型であり、CommitmentLevel[slot.status]を使用して人間が読める名前にします。
数値フィールド (スロット、親スロット、実行トランザクション数、エントリ数、blockHeightblockTime内の値) はu64であるため文字列として出力されます。算術や比較にはNumber(...)を使用します。
フルブロックにはすべてのトランザクションとアカウントを含む場合があり、数MBになることがあります。同じu64-as-stringの慣例が適用されます — 算術のために数値フィールドをNumber(...)でラップします。各トランザクション内では、meta.feemeta.preBalancesmeta.postBalancesなども文字列です。

パフォーマンスの考慮事項

スロットモニタリング

軽量:非常に低帯域、最小限の処理オーバーヘッド。監視ダッシュボードに適しています。

ブロックメタデータ

バランス:適度な帯域、ブロックレベルの洞察が得られます。アナリティクスに適しています。

フルブロック

高ボリューム:完全な取引データを含み、頑丈な処理が必要です。フィルターと組み合わせて使用します。

フィルタリングされたブロック

最適化: accountIncludeを使用し、必要のないincludeAccounts/includeEntriesを無効にします。

ユースケース

ネットワークの健全性とパフォーマンスを追跡 — スロットタイミング、混雑、コンセンサス。

エラーハンドリング

症状: スロットの進行にギャップがあります。原因: ネットワーク接続問題、バリデータのダウンタイム、クライアント処理の遅延。ソリューション: スロットのギャップを追跡してアラートを設定する; 履歴リプレイを通じてキャッチアップロジックを実装する; 接続の健全性を監視する。
症状: ブロックデータが多すぎます。ソリューション: フルブロックの代わりにブロックメタデータを使用; アカウントフィルターを適用; 不要な項目(エントリ、アカウント)を無効化; 非同期処理。
症状: スロットタイミングが不一致。分析: 移動平均を計算する; 偏差を追跡する; ネットワーク健康メトリクスを監視する; バリデータのパフォーマンスと相関を取る。

ベストプラクティス

プロダクションガイドライン:
  • メタデータから始める — フルブロックを購読する前にブロックメタデータを使用
  • フィルターを適用するaccountIncludeを使用して関係のないデータを削減
  • タイミングを監視する — スロットの進行をネットワーク健全性のカナリアとして追跡
  • ギャップを処理する履歴リプレイと組み合わせて欠けているスロットを再接続時に自動バックフィル
  • 非同期処理 — 重い計算でストリーム処理をブロックしない
  • ニーズに合わせたコミットメント — 低レイテンシUIにはprocessed、状態書き込みにはconfirmed/finalized

次のステップ

トランザクションモニタリング

プログラム、アカウント、投票、または失敗ステータスでトランザクションをフィルタリングします。

ストリームポンプAMMデータ

実例: Pump AMMトランザクションを監視します。

トランザクションデータのデコード

バイナリtransactionUpdateペイロードを読み取り可能なSolanaトランザクションに解析します。

イエローストーンプロトコルリファレンス

生のイエローストーングRPCプロトコルに対する同じワークフロー。