Skip to main content
Heliusの管理されたgRPCサービスをお探しですか? このページでは、オープンなYellowstone gRPCプロトコルをリファレンスとしてドキュメント化しています。24時間の履歴リプレイ、マルチノードフェイルオーバー、完全に管理された環境を含むプロダクション使用については、HeliusのYellowstone互換gRPC提供であるLaserStreamをご参照ください。

Yellowstone gRPCとは?

Yellowstone gRPCは、Solanaのリーダーに直接アクセスして生成されるシャードを受信することで、超低レイテンシーのストリーミングを提供します。これにより、最小限の遅延でアプリケーションにリアルタイムデータを配信します。

高性能

最大のスループットと最小限の帯域幅使用量のための効率的なシリアル化を備えたバイナリプロトコル

リアルタイムストリーミング

即時のサブスクリプション作成とキャンセルを可能にする双方向ストリーミング

高度なフィルタリング

アカウント、トランザクション、プログラムのフィルタを使用して受信するデータを正確に制御

複数のデータタイプ

アカウント、トランザクション、スロット、ブロック、およびエントリーを単一のストリームで購読

ストリームタイプ

リアルタイムでアカウントの変化を監視バランスの更新、データの変更、所有権の変更、アカウントの作成/削除のイベントを正確なフィルタリングオプションと共に追跡します。

アカウント監視ガイド

フィルタリング例と共にアカウントの更新をストリームする方法を学ぶ

Yellowstone gRPCへのアクセス方法

ニーズに合ったオプションを選択してください:

LaserStream

LaserStreamは、マルチテナントで高可用性のgRPCサービスで、自動フェイルオーバーと24時間の履歴リプレイ機能を備えています。ほとんどのプロダクションアプリケーションに理想的です。
HeliusダッシュボードからLaserStreamを始めましょう。メインネットはビジネスまたはプロフェッショナルプランが必要です。Devnetはデベロッパーとそれ以上で利用可能です。詳細はプランと価格をご覧ください。

専用ノード

専用ノードは、リソース隔離が保証された専用gRPCエンドポイントを提供します。特殊な要求や高度なオペレーターに最適です。

gRPCオプションを比較

決めかねていますか?gRPC比較ガイドを読んで、LaserStreamまたは専用ノードがあなたのユースケースに最適かどうかを判断してください。

クイックスタート

ストリーミングを始める準備はできましたか? 包括的なセットアップガイドを読んで始めるか、ダッシュボードから始めましょう:

Yellowstone gRPCクイックスタート

インストール、認証、および最初のストリームの設定をカバー

始める

HeliusダッシュボードからLaserStreamを有効にしてストリーミングを開始

サブスクリプションリクエストの構造

すべてのgRPCサブスクリプションには、適切に構造化されたリクエストが必要です。次に構築方法を示します:

コアパラメータ

commitment
string
required
データの一貫性のためのコミットメントレベル
  • processed - ノードによって処理されたトランザクション
  • confirmed - クラスターによって確認されたトランザクション
  • finalized - クラスターによって最終化されたトランザクション
ping
boolean
接続を維持15秒ごとにポンメッセージを受け取るためにtrueに設定し、ロードバランサーやプロキシによる接続タイムアウトを防ぎます。
accounts_data_slice
array
データ転送を最適化アカウントデータから特定のバイト範囲をリクエスト:

フィルタ構成

account
array<string>
監視するアカウントの公開鍵の配列(論理OR)
owner
array<string>
監視する所有者の公開鍵の配列(論理OR)
filters
array<object>
DataSizeおよびMemcmpフィルタ(論理AND):
複数のフィルタタイプが使用される場合、論理ANDとして機能します。配列内の値は論理ORとして機能します。
vote
boolean
投票トランザクションを含める/除外する
failed
boolean
失敗したトランザクションを含める/除外する
signature
string
特定のトランザクション署名を監視
account_include
array<string>
これらのアカウントのいずれかを含むトランザクションを含める(論理OR)
account_exclude
array<string>
これらのアカウントを含むトランザクションを除外する
account_required
array<string>
これらすべてのアカウントを含むトランザクションを含める(論理AND)
account_include
array<string>
ブロック内のトランザクションとアカウントをフィルタ
include_transactions
boolean
ブロック内のすべてのトランザクションを含める
include_accounts
boolean
ブロック内のすべてのアカウント更新を含める
include_entries
boolean
ブロック内のすべてのエントリーを含める
filter_by_commitment
boolean
default:"false"
trueの場合、指定されたコミットメントレベルのスロット更新のみを受信します。falseの場合、すべてのコミットメントレベルの更新を受信します。

例: 基本的なトランザクション監視

開始するための完全な例です:
これは基本的な例です。プロダクション使用では、適切なエラー処理、再接続ロジック、データ処理を実装してください。完全な実装については、詳細なガイドをご参照ください。

開始の準備はできましたか?

完全設定ガイド

インストール、認証、最初のストリームの実装

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

実際の例: Pump AMMトランザクションを監視

高度なリソース