preconfSubscribeとは何ですか?
preconfSubscribeは、事前確認をストリームするHelius WebSocketメソッドです。これは、最も低レイテンシのトランザクションシグナルであり、スケジュールされたトランザクションステージで提供され、シュレッドされる前です。
ストリームは連続的ではありません。Heliusに転送されるステークの共有に応じてカバレッジがスケールするため、メッセージのないスロットが存在します—これをうまく処理してください。カバレッジを参照してください。
preconfSubscribeは、wss://beta.helius-rpc.comから提供されます—スケジュールされたトランザクションのソースであるHelius Gatekeeperエンドポイント—ではなく、mainnet.helius-rpc.comです。クエリパラメーターとしてAPIキーで認証してください。
betaホスト名はGatekeeperの展開に関連しており、事前確認の成熟度には関連していません。事前確認は最初にGatekeeperエンドポイントで開始され、HeliusがトラフィックをGatekeeperに移行するにつれて標準のエンドポイントになります。購読
preconfSubscribeメソッドを使用してJSON-RPCリクエストを送信します。サーバーは購読IDとともに応答し、スケジュールされたトランザクションごとに通知をストリームします。オプションのフィルターを最初のparams要素として渡すことで、マッチするトランザクションのみを受け取ることができます。paramsを省略すると、フルストリームを受け取ります。
購読応答
resultを保存します—これは購読解除に使用する購読IDです。この確認後、通知はバイナリフレームとしてストリームされます(以下参照)。
フィルタリング
デフォルトでは、preconfSubscribeはすべてのスケジュールされたトランザクションをストリームします。ストリームを絞り込むには、フィルターオブジェクトをparamsの最初の要素として渡します。フィルタリングはサーバー側で行われるため、必要なトランザクションのみを受け取り、支払いもその分のみに対して行われます。
paramsがない場合)はすべてのトランザクションにマッチします。
現在はトランザクションの静的なアカウントキーがマッチされています。v0アドレスルックアップテーブル(ALT)から読み込まれたアカウントはまだ解決されていないため、ALTアカウントに対するフィルタリングはマッチしません。ALTサポートは近日中に追加される予定です。
- すべての述語は一緒にANDされ、順次評価されます:
regionInclude→accountExclude→accountRequired→accountInclude。 - アカウントはbase58でエンコードされた公開鍵です。無効な値はJSON-RPCエラー
-32602(無効なパラメータ)を返します。 - 各アカウントリストは500エントリに制限されています。
ロケーションフィルタリング
特定のHeliusリージョンから発信されたトランザクションのみを受信するには、regionIncludeを使用します。1つ以上のリージョンコードを渡してください。トランザクションの発信元リージョンがこれらのいずれかに一致する場合、そのトランザクションは許可されます。
regionIncludeが設定されている場合、リージョン情報を持たないトランザクションは削除されます。認識されないリージョンコードはJSON-RPCエラー-32602(無効なパラメータ)を返します。通知ペイロード
通知はバイナリWebSocketフレームとして配信されます(JSONではありません)。各フレームは単一のスケジュール済みトランザクションを運ぶパックされたバイトレイアウトです:
フィールドを順番に読み取り、その後残りのバイトを
bincodeでデシリアライズし、命令、アカウント、署名を読み取ります。
事前確認は初期シグナルであり、保証ではありません。トランザクションはまだオンチェーンに記録されておらず、失敗したりドロップされる可能性があります。最終的なものとして扱う前に、標準のコミットメントチェックを通して確定を確認してください。
例
購読解除
通知の受信を停止するには、preconfUnsubscribeを購読IDを使って呼び出します。このIDはpreconfSubscribeから返されます。
価格設定
事前確認にはプロフェッショナルプラン以上が必要で、メッセージごとに10クレジットのコストがかかります。これはストリームされたトランザクションごとに1つのメッセージです。詳細についてはクレジットを参照してください。事前確認は新しい製品であり、価格は変更される可能性があります。
関連情報
事前確認の概要
事前確認が何であり、バリデータパイプラインのどこに位置するか。
transactionSubscribe
豊富なフィルタリング機能を備えた確認済みコミットメントトランザクションをストリームします。