切断時の自動リプレイ
LaserStream クライアントは、スロット番号でストリーミングの位置を継続的に追跡します。ネットワークの問題やサーバーメンテナンス、その他の原因で切断が発生した場合、クライアントは自動的に再接続し、最後に処理されたスロットからストリーミングを再開します。データを失うことはなく、トランザクションを見逃すことも再接続ロジックを書く必要もありません。JavaScript/TypeScript クライアント
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のサポートを参照してください。クイックスタート
信頼性の比較
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の拡張に伴い悪化する重大な制限があります:- パフォーマンスのボトルネック: YellowstoneのJavaScriptクライアントは30MB/sで最大に達します - 高スループットアプリケーションには不十分です
- 漸進的遅延: 高帯域のサブスクリプションでは遅延が時間とともに累積します
- 手動リプレイ: 再接続とリプレイのロジックを自分で実装する必要があります
- データ損失のリスク: 組み込みのリプレイがないため、ネットワークの中断はトランザクションの欠落を意味します