メインコンテンツへスキップ

LaserStream WebSocketを使用する

LaserStream WebSocketは、シンプルなWebSocket統合を提供し、すべてのHeliusプランで利用できるため、開発者にとって便利な選択肢です。この例ではSolanaのlogsSubscribeメソッドを使用しているため、ログメッセージのみを受信します。

LaserStream WebSocketは標準のAgave RPCベースのWebSocket実装より200 msまで高速です。

仕組み

LaserStream WebSocketエンドポイントに接続し、Pump AMMプログラムに言及するログを購読し、受信したログデータを処理します。 以下の例には指数バックオフを伴う自動再接続ロジックが含まれています。

要件

  • Node.js ≥ 18(v20でテスト済み)
  • サンプルをts‑nodeで実行する場合はTypeScript ≥ 5
  • 任意のHeliusプラン – すべてのプラン階層で機能します
  • APIキーを保存するHELIUS_API_KEYという名前の環境変数
依存関係をグローバルにインストール:npm i -g typescript ts‑node

実装

1

依存関係をインストール

2

WebSocketクライアントを作成

次のコードを含むstandard-ws-pump.tsという名前のファイルを作成します。
3

環境変数を設定

Helius APIキーを環境変数として追加します:
your-helius-api-keyをダッシュボードからの実際のHelius APIキーに置き換えます。APIキーがない場合は、サインアップするか、エージェントにHelius CLIでプログラム的に作成させてください。
4

アプリケーションを実行

Pump AMMデータのストリームを開始するスクリプトを実行します:
Pump AMMプログラムに言及するログメッセージを受け取ります。完全なトランザクションを取得するには、ログエントリからの署名でgetTransactionを呼び出します。

主な利点

  • ユニバーサルアクセス - 無料プランを含むすべてのHeliusプランで利用可能
  • 軽量 - 完全なトランザクションではなくログのみがストリームされるためデータ転送が最小限
  • 実装が簡単 - 標準のSolana RPC WebSocketプロトコルを使用
  • 低い参入障壁 - プロトタイピングと初期モニタリングに最適

完全なトランザクション詳細の取得

標準WebSocketはログメッセージのみを提供するため、完全なトランザクションデータを取得するには追加のステップが必要です:

一般的な問題と解決策

HELIUS_API_KEYが正しいことを確認してください。
Pump AMMプログラムアドレスが正しいことを確認し、プログラムにアクティビティがあることを確認してください。
より堅牢な再接続ロジックを実装するか、ネットワークの安定性を確認してください。