Skip to main content

切断時の自動リプレイ

LaserStream クライアントは、スロット番号でストリーミングの位置を継続的に追跡します。ネットワークの問題やサーバーメンテナンス、その他の原因で切断が発生した場合、クライアントは自動的に再接続し、最後に処理されたスロットからストリーミングを再開します。データを失うことはなく、トランザクションを見逃すことも再接続ロジックを書く必要もありません。

JavaScript/TypeScript クライアント

JavaScriptアプリにはLaserStream SDKへの切り替えを強くお勧めします。 現在Yellowstone gRPCクライアントを使用している場合、時間とともに蓄積するストリーム遅延とパフォーマンスボトルネックを経験することになります。LaserStream クライアントのパフォーマンス余裕は、アプリがネットワークと共にスケールし、これらの問題を完全に排除します。
JavaScript クライアントは、ネイティブのRust バインディングを使用して1.3GB/sのスループットを達成します。これは、最大30MB/sのYellowstone gRPC JavaScriptクライアントの40倍以上です。 4倍速いイベント検出: Rustベースのアーキテクチャのおかげで、LaserStream JavaScriptクライアントはYellowstoneクライアントよりも4倍速くイベントを受信および処理し、イベントを最初に見るための競争優位性をアプリケーションに提供します。 高帯域幅のサブスクリプションでは、Yellowstoneクライアントは時間とともに蓄積する遅延を経験します。LaserStreamは、データ量に関係なく一貫した低遅延ストリーミングを維持します。

インストール

0.8.4以降を使用してください。以前のリリースにはトランザクションv1より前のプロトが含まれているため、v1トランザクションはそのフィールドなしで到着します。トランザクションv1のサポートを参照してください。
HeliusダッシュボードからLaserStreamを始めましょう。Mainnetにはビジネスまたはプロフェッショナルプランが必要です。Devnetはデベロッパー以上で利用可能です。詳細はプランと価格を参照してください。

クイックスタート

0.4.0以降、JavaScriptクライアントはククーフィルターを使用した圧縮アカウントフィルタリングをサポートしています。大きなパブキーリストを送信する代わりに、1つのサブスクリプションで数十万のアカウントを追跡できます。

信頼性の比較

Rust クライアント

Rustクライアントは、最大限の制御を必要とするアプリケーションに対してゼロコピーのデシリアライズとネイティブのパフォーマンスを提供します。 0.2.0以降、Rustクライアントはククーフィルターを使用した圧縮アカウントフィルタリングをサポートしており、1つのサブスクリプションで数十万のアカウントを追跡できます。(JavaScript SDK 0.4.0+でも利用可能です。)

インストール

0.6.3以降を使用してください。以前のリリースにはトランザクションv1より前のプロトが含まれているため、v1トランザクションはそのフィールドなしで到着します。トランザクションv1のサポートを参照してください。

クイックスタート

Go クライアント

Goクライアントは、慣用的なGoインターフェースを提供します。

インストール

0.2.0以降を使用してください。以前のリリースにはトランザクションv1より前のプロトが含まれているため、v1トランザクションはそのフィールドなしで到着します。トランザクションv1のサポートを参照してください。

クイックスタート

YellowstoneからLaserStreamへの移行の理由

Yellowstoneクライアントには、Solanaの拡張に伴い悪化する重大な制限があります:
  1. パフォーマンスのボトルネック: YellowstoneのJavaScriptクライアントは30MB/sで最大に達します - 高スループットアプリケーションには不十分です
  2. 漸進的遅延: 高帯域のサブスクリプションでは遅延が時間とともに累積します
  3. 手動リプレイ: 再接続とリプレイのロジックを自分で実装する必要があります
  4. データ損失のリスク: 組み込みのリプレイがないため、ネットワークの中断はトランザクションの欠落を意味します
LaserStreamはこれらの問題を今日解決します。40倍のパフォーマンス向上、自動リプレイ、データ損失ゼロの保証により、LaserStreamへの移行はSolanaの進化に応じてアプリケーションの競争力を維持します。