Skip to main content
使用 Sender Max(最低小费:0.001 SOL)来处理预确认。 预确认只有在您的交易 首先抵达时才有回报——Sender Max 是最快的方法。从一开始就使用 Sender Max 来充分利用预确认。

什么是preconfSubscribe

preconfSubscribe 是一种 Helius WebSocket 方法,它流式传输 Preconfirmations——在交易被分解之前在预定交易阶段交付的交易。这是 Helius 提供的最低延迟交易信号。访问需要 专业计划或更高级别——请参见 定价
流不是连续的。覆盖范围随着转发到 Helius 的权益份额而波动,因此请预料到会有没有消息的插槽——请优雅地处理这些间隙。参见覆盖范围
preconfSubscribewss://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)匹配每个交易。 过滤规则:
  • 所有谓词按 regionIncludeaccountExcludeaccountRequiredaccountInclude 的顺序进行按位和。
  • 帐户是 base58 编码的公钥。无效值将返回 JSON-RPC 错误 -32602(无效参数)。
  • 每个账户列表最多包含 500 条目。

地址查找表 (ALT) 解析

账户过滤器匹配的不仅仅是交易的静态账户密钥——Helius 在服务器端解析 v0 地址查找表,因此 accountIncludeaccountExcludeaccountRequired 也会匹配通过 ALT 加载的账户。 这意味着您可以过滤交易接触到的任何账户,即使它仅出现在查找表后面——无需维护 ALT 映射或自行解析表。只需传递账户的公钥,Helius 会在应用过滤器之前处理解析。

位置过滤

使用 regionInclude 来只接收来自特定 Helius 区域的交易。传递一个或多个区域代码;当其起始区域与其中任何一个匹配时,交易将通过。
有效的区域代码:
当设置 regionInclude 时,不携带区域信息的交易将被丢弃。未识别的区域代码将返回 JSON-RPC 错误 -32602(无效参数)。

通知有效负载

通知以 二进制 WebSocket 帧(而不是 JSON)传递。每个帧都是一个打包的字节布局,携带一个预定的交易: 按顺序读取字段,然后将剩余字节 bincode 反序列化为 VersionedTransaction 以读取指令、账户和签名。
始终首先读取和检查 version 字节。 目前为 1。如果 Helius 需要更新有效负载格式,版本将递增——根据版本进行分支,以便解码器在模式变更时继续工作。
预确认是一个早期信号,而不是保证。交易尚未上链,仍可能失败或被丢弃。通过标准承诺检查确认上链后再将其视为最终状态。

示例

取消订阅

要停止接收通知,请使用从 preconfSubscribe 返回的订阅 ID 调用 preconfUnsubscribe

定价

预确认需要 专业计划或更高级别 并且每条消息花费 10 积分——每个流式交易一条消息——从您的计划中扣除。详情请参阅 积分
预确认是一款新产品,定价可能会有所变更。

相关

Preconfirmations Overview

什么是预确认以及它们在验证器流程中的位置。

transactionSubscribe

使用丰富的过滤功能流式传输已确认提交的交易。

preconfSubscribe API reference

请求参数、过滤字段和二进制通知布局。