メインコンテンツへスキップ
Sender Max(最小ヒント: 0.001 SOL)を使用して、事前確認で行動しましょう。 トランザクションを最初に確定することで、事前確認が報われます。Sender Maxを最初から使用することで、事前確認のすべての利点を活用できます。

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され、順次評価されます: regionIncludeaccountExcludeaccountRequiredaccountInclude
  • アカウントはbase58でエンコードされた公開鍵です。無効な値はJSON-RPCエラー -32602(無効なパラメータ)を返します。
  • 各アカウントリストは500エントリに制限されています。

ロケーションフィルタリング

特定のHeliusリージョンから発信されたトランザクションのみを受信するには、regionIncludeを使用します。1つ以上のリージョンコードを渡してください。トランザクションの発信元リージョンがこれらのいずれかに一致する場合、そのトランザクションは許可されます。
有効なリージョンコード:
regionIncludeが設定されている場合、リージョン情報を持たないトランザクションは削除されます。認識されないリージョンコードはJSON-RPCエラー-32602(無効なパラメータ)を返します。

通知ペイロード

通知はバイナリWebSocketフレームとして配信されます(JSONではありません)。各フレームは単一のスケジュール済みトランザクションを運ぶパックされたバイトレイアウトです: フィールドを順番に読み取り、その後残りのバイトをbincodeでデシリアライズし、命令、アカウント、署名を読み取ります。
常にまずversionバイトを読み取り確認してください。 現在は1です。Heliusがペイロード形式を更新する必要がある場合、バージョンがインクリメントされます—これに従って、デコーダーがスキーマ変更にわたって動作し続けるように分岐してください。
事前確認は初期シグナルであり、保証ではありません。トランザクションはまだオンチェーンに記録されておらず、失敗したりドロップされる可能性があります。最終的なものとして扱う前に、標準のコミットメントチェックを通して確定を確認してください。

購読解除

通知の受信を停止するには、preconfUnsubscribeを購読IDを使って呼び出します。このIDはpreconfSubscribeから返されます。

価格設定

事前確認にはプロフェッショナルプラン以上が必要で、メッセージごとに10クレジットのコストがかかります。これはストリームされたトランザクションごとに1つのメッセージです。詳細についてはクレジットを参照してください。
事前確認は新しい製品であり、価格は変更される可能性があります。

関連情報

事前確認の概要

事前確認が何であり、バリデータパイプラインのどこに位置するか。

transactionSubscribe

豊富なフィルタリング機能を備えた確認済みコミットメントトランザクションをストリームします。