Blazarのご紹介:Quicknode が提供する、Solana 専用のWebSocketソリューション
SolanaのネイティブWebSocket PubSubは、負荷がかかるとメッセージをドロップし、3つのサブスクリプションメソッドの安定性が損なわれます。Blazarは、インフラストラクチャレベルでこの問題を修正し、オーバーヘッドは1ミリ秒未満、メソッドの完全な互換性(サポート )を確保し、SDK の変更も不要です。

2026年4月14日 — 読了時間6分

WebSocketsは、リアルタイムのオンチェーン データが必要なSolana 開発者 においてデフォルトの選択肢となっています。フロントエンドやモバイルアプリケーションとの幅広い互換性を備え、イベント駆動型のバックエンドにとってはgRPC よりも導入が容易です。
しかし、Solana のネイティブWebSocket実装は、大規模なデータ量を処理するようには設計されていませんでした。APIの3分の1は公式に「不安定」とマークされており、PubSubは負荷がかかるとメッセージをドロップし、ほとんどのアプリケーションは、本来必要とされないはずの回避策のレイヤーを用いて、こっそりとその問題を補っています。
私たちは、その問題を根本から解決するためにBlazarを開発しました。
Blazarは、Quicknode が自社開発したSolana WebSocketエンジンであり、Solana 開発者 で本番環境で実行されているワークロードに特化して一から構築・最適化されています。これは、いかなるオープンソースソリューションのフォークでも、AgaveのネイティブPubSubをラップしたものでもありません。Solana のWebSocketサブスクリプションメソッド一式を、既存のQuicknode Solana エンドポイント環境に対して、 のWebSocketサブスクリプションメソッドの完全なセットを実装しており、SDK の変更や移行は一切必要ありません。
Blazarは、AgaveのネイティブPubSubを基盤として構築されたどのシステムよりも高速で、信頼性が高く、機能も充実しています。Blazarは、パフォーマンスの低下を招くことなく多数の同時サブスクライバーを処理でき、AgaveのネイティブPubSubではメッセージの配信が途絶え始めるような状況でも、一貫した配信を維持します。
パフォーマンスの基礎的な要素に加え、ほとんどのプロバイダーが確実に提供できないような、安定したサポート をサブスクリプション方式でも実現しています。
SolanaのWebSocket APIには、9つのサブスクリプションメソッドが用意されています。そのうち、「voteSubscribe」、「slotsUpdatesSubscribe」、「blockSubscribe」の3つは、最新のAgave 3.xバリデータクライアントにおいて公式に「不安定」とマークされており、標準のSolana WebSocket接続では事実上利用できません。
開発者 でブロックデータ、投票情報、またはスロットの詳細なステータス更新を必要とするユーザーにとって、これらは必須の手法であり、例外的なケースではありません。
🌠Blazarでは、不安定なWebSocketメソッドはすべて安定しています。SDK の変更は必要ありません。
投票・購読 処理済みのコミットメントレベルにおいて、スロットが確定する前、かつファイナリティの保証が存在する前の段階で、投票トランザクションを配信します。その不安定さゆえに、これまでほとんどのアプリケーションでは利用が困難でした開発者 。Blazar では、この機能が利用可能かつ信頼性が高いため、楽観的確認の推定、投票参加状況のダッシュボード、あるいはステーク加重によるブロックのファイナリティ追跡といったツールの活用が可能になります。
スロット・最新情報・購読 スロットのライフサイクル全体を、以下から firstShredReceived ~を通じて 完了, 楽観的な確認、そして最終的には 定着した. エンドツーエンドのレイテンシをベンチマークし、ネットワークがスロットを最初に検知したタイミングと、アプリケーションがそれを検知したタイミングを正確に把握する必要がある場合、この粒度は重要です。また、これにより、 楽観的な確認、ポーリングや完全なファイナリティを待たずに、スロットに対して実質的に安全に処理を行える最も早い時点のことです。以前は、この種のスロットレベルのシグナルを確実に取得するには、独自のバリデーターインフラストラクチャを運用する必要がありました。Blazarでは、標準的なWebSocket接続を通じてこのシグナルが送信されます。
blockSubscribe ネイティブのSolana WebSocket接続では、事実上利用できません。利用できたとしても、トランザクション量が多いと、メッセージサイズ超過エラー、接続切断、あるいはデータが黙って破棄されるといった現象が頻繁に発生します。一方、Blazarでは完全にサポートされており安定しているため、ブロック単位のサブスクリプションデータが、これまでにはなかった形で実用的な選択肢となっています。
Blazarは、以下の機能もサポートしています transactionSubscribe、これはもともとby のTritonが、同社のWhirligig WebSocketプロキシの一部として導入した手法です。これは標準のSolana WebSocket APIの一部ではありませんが、より詳細なトランザクションデータを必要とする開発者 にとって、広く採用されている拡張機能となっています。 logsSubscribe または アカウント登録 このメソッドを使用すると、by アカウント、トランザクションの結果、およびコミットメントレベルをフィルタリングできるため、プログラムの活動をリアルタイムで追跡したり、失敗したトランザクションについてアラートを発信したり、ポーリングを行わずにライブのスワップフィードを構築したりするのに役立ちます。
Blazarと、最も広く利用されているオープンソースのSolana WebSocketプロキシを、実際の メインネット 条件下でBlazarのベンチマークテストを実施しました。その結果は以下の通りです。
AgaveのネイティブPubSubメカニズムは、デフォルトでは単一のワーカースレッドby 上で動作するため、利用可能なコア数に関係なく、すべてのサブスクリプション処理のボトルネックとなります。ネットワーク負荷が高い状況、つまりリアルタイムデータが最も重要となる場面において、ネイティブPubSubシステムはメッセージをドロップし、予測不可能なレイテンシの急上昇を引き起こします。
Blazarは、こうした障害モードを排除するために特別に設計されています。同じ高負荷条件下でも、Blazarは安定した一貫性のある結果をもたらしました:

標準的なRPCインフラストラクチャは、より広範なTurbineネットワークを通じてデータを受信するため、イベントは伝播経路のより下流で到着することになります。Blazarの上流データソースはby ShredStreamによって駆動されており、Turbineのトップ100リーダーから「shred」を受信します。ShredStream対応のソースは、通常のパブリックTurbineソースよりも約200~250ミリ秒早くデータを配信します。この先行時間は、Blazarが処理を開始する前に、すべてのイベントに組み込まれています。
オンチェーン イベントが発生してから、アプリケーションがそれを受信するまでの間にBlazarが追加する遅延は、高負荷時であっても1ミリ秒未満です。これは、アカウントの更新、フルブロック、およびその他のすべてのサブスクリプションタイプに当てはまります。

Blazarは、テストしたすべてのシナリオにおいて、最も一般的なWebSocketサーバーよりも大幅に早く顧客にデータを提供します。200回の接続テストでは、SysvarClockアカウントを使用し、アカウントが常に更新されていることを確認しています。
各Agaveノードは、パフォーマンスが全体的に低下し、追加のハードウェアや運用上の複雑さが必要になる前に、有限数のWebSocketサブスクライバーしか処理できません。一方、Blazarは、サブスクライバー1人あたりのパフォーマンスを低下させることなく、多数の同時サブスクリプションを処理できます。総サブスクリプション数にかかわらず、すべてのサブスクライバーに対して一貫性のある低遅延の配信が行われます。

Blazar では、いずれの場合もメモリ使用量が大幅に削減されています。

Blazarは、ほとんどの場合、CPU使用率を大幅に低減します。
ベンチマークは、制御された隔離された環境下で実行され、クライアントは別のマシンからサーバーに直接接続されており、その間にロードバランサーやエッジ層は存在しませんでした。
Quicknode 上で構築された開発者 の場合、Blazar によって WebSocket 接続に関して想定できる内容が変更されます:
回避策が少なくて済みます。 配信の信頼性が低いことを補うために、再試行 ロジック、ギャップ検出、冗長接続などが存在します。 Blazarがインフラストラクチャレベルで信頼性 を処理するため、こうした補完的なコードは不要になります。
完全なデータstreams 。 アプリケーションが通知を受信すると 、その直前のイベントも同時に到着します。ストリームが連続しているという前提でロジックを構築してください。
大規模環境でも安定したパフォーマンス。 接続数が増えても、サブスクリプションの パフォーマンスは低下しません。アプリケーションの規模が拡大しても、パフォーマンスが急激に低下することはありません。
🌠Blazarへのアップグレードは無料です。また、「Quicknode 」をご利用のお客様は、すでにBlazarをご利用いただいています。
Blazarは、独立した製品でも、アドオンでも、プレミアムプランの機能でもありません。これは、すべてのQuicknode Solana WebSocket エンドポイントのすべてのプランに、すでに導入済みです。有効化の手順も、移行作業も、追加料金も一切必要ありません。
以下から選択してくださいSolana エンドポイント。
WSSの エンドポイント URLをコピーし、既存のWebSocketクライアントコードを使用して接続してください。
Solana のWebSocketsを初めてご利用ですか?「TypeScriptを使用してSolana へのWebSocketサブスクリプションを作成する方法(ブロックチェーン )」というガイドでは、必要な情報がすべて網羅されています。
Blazarは、Solana のネイティブWebSocket実装が課す信頼性 およびパフォーマンスの上限を取り除きby 、1ミリ秒未満の処理オーバーヘッドを実現するとともに、Agaveで「不安定」とマークされていた3つを含む全9つのサブスクリプションメソッドすべてにおいて安定したサポート を提供し、スケールアップしても維持されるベンチマークパフォーマンスを実現しています。
WebSocketsは、開発者 がオンチェーン のリアルタイムデータを取得するための最も簡単な方法の一つであり続けています。現在、その基盤となるインフラストラクチャは、実際に求められる要件に見合うものとなっています。Quicknode のダッシュボードにログインして、今すぐ始めましょう。
2017年に設立されたQuicknode は、開発者 および企業向けに、機関投資家レベルのブロックチェーン インフラストラクチャを提供しています。99.99%の稼働率と、77以上のチェーンに対応したサポート を備え、チーム は妥協のないオンチェーン アプリケーションの構築とスケーリングを実現します。
最新のエンジニアリングに関する知見、製品の最新情報、Web3のニュースを、メールボックスに直接お届けします。
📚 新刊:『金融ソフトウェアの構築』Solanaオプションからパーペチュアルまで、10の完全なプログラムが収録された無料の書籍。
入手する