Skip to main content
Sender Max (最小チップ: 0.001 SOL) を使用して Preconfirmations に対処します。 Preconfirmation は、取引が最初に届いた場合にのみ効果を発揮します — Sender Max はそれを達成するための最速の方法です。最初から Sender Max を活用して、Preconfirmations の完全な利益を得ましょう。

preconfSubscribeとは何ですか?

preconfSubscribe は、取引がシュレッドされる前のスケジュール取引段階で配信される Preconfirmations をストリームする Helius WebSocket メソッドです。これは Helius が提供する最も低遅延の取引信号です。アクセスには Professional plan or higher が必要です — Pricing を参照してください。
ストリームは連続的ではありません。Heliusに転送されるステークの共有に応じてカバレッジがスケールするため、メッセージのないスロットが存在します—これをうまく処理してください。カバレッジを参照してください。
preconfSubscribeは、wss://beta.helius-rpc.comから提供されます—スケジュールされたトランザクションのソースであるHelius Gatekeeperエンドポイント—ではなく、mainnet.helius-rpc.comです。クエリパラメーターとしてAPIキーで認証してください。
beta ホスト名は、Gatekeeper の導入を指します。 Preconfirmations の成熟度ではありません。Preconfirmations は最初に Gatekeeper エンドポイントで開始されます。Helius がトラフィックを Gatekeeper に移行するにつれて、標準エンドポイントになります。

購読

preconfSubscribeメソッドを使用してJSON-RPCリクエストを送信します。サーバーは購読IDとともに応答し、スケジュールされたトランザクションごとに通知をストリームします。オプションのフィルターを最初のparams要素として渡すことで、マッチするトランザクションのみを受け取ることができます。paramsを省略すると、フルストリームを受け取ります。

購読応答

resultを保存します—これは購読解除に使用する購読IDです。この確認後、通知はバイナリフレームとしてストリームされます(以下参照)。

フィルタリング

デフォルトでは、preconfSubscribeはすべてのスケジュールされたトランザクションをストリームします。ストリームを絞り込むには、フィルターオブジェクトをparamsの最初の要素として渡します。フィルタリングはサーバー側で行われるため、必要なトランザクションのみを受け取り、支払いもその分のみに対して行われます。
すべてのフィールドはオプションです—フィールドが欠けている場合、その述語に「制約なし」となり、空のフィルター(またはparamsがない場合)はすべてのトランザクションにマッチします。 フィルタールール:
  • すべての述語は合わせて評価され、順序は regionIncludeaccountExcludeaccountRequiredaccountInclude です。
  • アカウントはbase58でエンコードされた公開鍵です。無効な値の場合、JSON-RPC エラー -32602 (無効なパラメータ) が返されます。
  • 各アカウントリストは 500 件に制限されます。

アドレスルックアップテーブル (ALT) 解決

アカウントフィルターは、トランザクションの静的なアカウントキー以上に一致します — Helius はサーバーサイドで v0 address lookup tables を解決するため、accountIncludeaccountExclude、および accountRequired も ALT を通じてトランザクションがロードするアカウントと一致します。 これにより、ルックアップテーブルの背後にしか存在しない場合でも、トランザクションが触れる任意のアカウントでフィルタリングできるようになります — ALT マッピングを維持したり、テーブルを自分で解決したりする必要はありません。アカウントの公開鍵を渡すだけで、Helius がフィルター適用前に解決します。

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

特定の Helius 地域からの取引のみを受信するには、regionInclude を使用します。一つ以上の地域コードを渡します; 取引の発信地域がそれらのどれかと一致すると通過します。
有効な地域コード:
regionInclude が設定されていると、地域情報を持たない取引は破棄されます。認識されない地域コードの場合、JSON-RPC エラー -32602 (無効なパラメータ) が返されます。

通知ペイロード

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

購読解除

通知の受信を停止するには、preconfSubscribe から返されるサブスクリプション ID を使用して preconfUnsubscribe を呼び出します。

価格

Preconfirmations には Professional plan or higher が必要で、10 クレジット/メッセージ かかります — ストリームされたトランザクションごとに 1 メッセージ — プランから請求されます。詳細は Credits を参照してください。
Preconfirmations は新しい製品であり、価格は変更される可能性があります。

関連

Preconfirmations Overview

Preconfirmationとは何か、検証パイプラインのどこに位置するか。

transactionSubscribe

豊富なフィルタリングで確認済みコミットメントトランザクションをストリーミングする。

preconfSubscribe API reference

リクエストパラメーター、フィルターフィールド、およびバイナリ通知レイアウト。