优先级活动流

quiknode-labs 发布于 2026-07-11 阅读 10

QuickNode通过现有RPC为Hyperliquid提供优先级活动流,包括订单优先级(ORDER_PRIORITY)和流言优先级(GOSSIP_PRIORITY)两种类型。文章详细介绍了这两种流的事件格式、网络支持(主网和测试网)、终局性(mempool_txs预共识和replica_cmds确认块)、过滤和索引方法,以及Hyperliquid的行为限制(如主网IOC最大8bps)。还提供了多种语言的示例代码。

网络与最终性

MEMPOOL_TXSORDER_PRIORITYGOSSIP_PRIORITY 在主网和测试网上均可用。请连接到你所需网络的端点:

网络 端点格式
主网 your-endpoint.hype-mainnet.quiknode.pro:10000
测试网 your-endpoint.hype-testnet.quiknode.pro:10000

每个标准化优先级事件都有一个 source

source 含义
mempool_txs 共识前的观察结果。该操作尚未最终确定,可能会失败、过期、被替换或永远不会落地。
replica_cmds 已确认区块派生的观察结果,包含区块游标、身份字段以及(如果可用)执行结果。

用于共识前订单订阅:

{
  "subscribe": {
    "stream_type": "ORDER_PRIORITY",
    "start_block": 0,
    "filters": {
      "source": {"values": ["mempool_txs"]}
    }
  }
}

对于 IOC 订单,此内存池来源显示一个在共识前试图领先于其他时间相近订单的订单。绝不能将其描述为已最终确定的订单流。

订单事件

Hyperliquid 将优先费用编码为 grouping: {"p": ...}ORDER_PRIORITY 为每个操作中的每个订单发出一个标准化事件。

{
  "type": "order",
  "source": "mempool_txs",
  "first_seen_time": "2026-07-09T18:00:00.000000000",
  "tx_hash": "0x3f700...",
  "signed_action_index": 0,
  "order_index": 0,
  "vault": "0x8d62...",
  "cloid": "0xclient-order-id",
  "asset_id": 0,
  "coin": "BTC",
  "market_type": "perp",
  "p": 80000,
  "side": "buy",
  "px": "105000.0",
  "sz": "0.001",
  "tif": "Ioc",
  "reduce_only": false,
  "nonce": 1780408128806,
  "expires_after": null
}

当资产元数据可用时,会包含 coinsz_decimals。已确认的 replica_cmds 事件还会在可用时包含 userbroadcasterblock_numberblock_timebundle_indexoutcomeerror

原始 p 值的转换方式如下:

费率 = p / 100,000,000
基点费用 = p / 10,000

例如,p = 80000 表示 8 个基点。

Gossip 事件

GOSSIP_PRIORITY 为每个观察到的 gossipPriorityBid 操作发出一个标准化事件。

{
  "type": "gossip",
  "source": "mempool_txs",
  "first_seen_time": "2026-07-09T18:00:00.000000000",
  "tx_hash": "0xabc...",
  "signed_action_index": 0,
  "slot_id": 3,
  "ip": "192.0.2.10",
  "max_gas": 100000000,
  "nonce": 1780408128806,
  "expires_after": null
}

已确认的 replica_cmds 事件还会在可用时包含 userbroadcasterblock_numberblock_timebundle_indexoutcome

该事件证明出价操作已被观察到。它不衡量对等节点的交付情况、不比较到达时间,也不证明出价者更快地收到了 gossip 优先级数据。

过滤与索引

客户可以对标准化字段应用服务端过滤。常见模式如下:

目标 建议字段
在共识前监控某个订单 ORDER_PRIORITY source=mempool_txs,以及 cloidtx_hashvaultcoin
查找某个已确认用户的订单 ORDER_PRIORITY source=replica_cmds,以及 usercloidtx_hash
在共识前监控某个 gossip 出价 GOSSIP_PRIORITY source=mempool_txs,以及 ipslot_idtx_hash
查找某个已确认出价者的操作 GOSSIP_PRIORITY source=replica_cmds,以及 useriptx_hash

对于中间件持久化,请使用以下稳定标识:

事件 唯一的源-事件键 跨源关联键
订单 (source, tx_hash, signed_action_index, order_index) (tx_hash, signed_action_index, order_index)
Gossip 出价 (source, tx_hash, signed_action_index) (tx_hash, signed_action_index)

跨源键将共识前的内存池观察与其已确认的副本观察关联起来。StreamData 是实时流;如果客户需要历史搜索,中间件必须持久化已确认的事件。

Hyperliquid 行为

流 API 在两个网络上均可用,但 Hyperliquid 接受的操作和费用限制可能因网络而异:

网络或订单类型 当前上游行为
主网 IOC 订单优先级支持非结果资产的 IOC 订单,最大为 8 个基点。
测试网 IOC 最大为 100 个基点。8-100 基点范围内具有相同的时间偏好,并对该范围内时间相近的订单进行排序。
测试网 ALO ALO 优先级影响 L1 执行后的队列位置,不影响内存池优先级。

观察到优先级操作并不保证其被接受、最终确定、匹配或执行。请参阅 Hyperliquid 优先费用文档 了解当前的协议规则。

运行示例

可运行的 ORDER_PRIORITY 监控器以 JavaScript、Python、Go 和 Rust 形式提供,位于每种语言的 priorityOrderExample 目录下。它们默认使用 source=mempool_txs,并支持 --include-confirmed 参数以获取 source=replica_cmds 事件。

使用 --raw-mempool 可以改为订阅 MEMPOOL_TXS。通用原始流示例也接受 GOSSIP_PRIORITY 作为流类型。

  • 原文链接: github.com/quiknode-labs...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~

相关文章

0 条评论