跳到正文

    按 / 搜索,按 [ 和 ] 前往上一页和下一页。

    深入原理

    架构概览

    协议是 HyperEVM 上的一小组合约,它通过预编译合约读取 Hyperliquid 的 HyperCore 来获取价格,并在 HyperCore 上转移 USDC。本页梳理这些合约以及它们如何协同工作。

    链上架构签名后的意图由中继经 BatchExecutor 提交给 Exchange;Exchange 通过 HyperCore 预编译合约读取 Hyperliquid 价格,并用 CoreWriter 转移 USDC。质押、代币经济合约和代币位于其旁。链下你的钱包或会话密钥签名中继HyperEVM批量提交BatchExecutorExchange交易、队列、资金、管理库SessionKeyManager只读查询合约StakingTokenomics代币DepositProxyFactoryHyperCore读取价格转移 USDC买一卖一标记价与预言机价CoreWriter现货 USDC
    链上架构. 签名后的意图由中继经 BatchExecutor 提交给 Exchange;Exchange 通过 HyperCore 预编译合约读取 Hyperliquid 价格,并用 CoreWriter 转移 USDC。质押、代币经济合约和代币位于其旁。

    合约(HyperEVM)

    • Exchange:交易合约。它保存所有余额,负责开仓和平仓、结算结果、运行赔付队列,并持有 LP 和手续费账户。一个精简的入口合约把逻辑委托给四个库(交易、队列、资金、管理)。开仓和平仓只能经由 BatchExecutor 到达;提现和维护调用任何人都可以发起。
    • BatchExecutor:中继进入的唯一途径。它只接受来自已配置中继密钥的批量调用,并转发其中每个已签名的调用,且只能调用固定列表中的函数。
    • SessionKeyManager:登记会话密钥,为 Exchange 验证每个签名和 nonce,并处理撤销。登记经由中继到达;撤销也可以由你的钱包直接调用。
    • 代币、Staking、Tokenomics:TOKEN 代币(上线时转账未开启)、带收益累加器的质押合约,以及为亏损计算并铸造 TOKEN、同时记账资金池的合约。
    • BuilderRegistry:已获批准的构建者,以及统一的构建者费率,上限为 15%。它不可升级:替换它意味着部署一个新合约,并让 SessionKeyManager 指向它。
    • DepositProxyFactory 与 DepositProxy:推导每个账户确定性的充值地址,并部署地址背后的小合约;这个合约只能把 HyperCore 上的 USDC 发送给 Exchange。两者都不可升级:充值地址永远不能改变。
    • Lens 合约与 PriceOracle:供应用和服务使用的只读视图(覆盖 Exchange 和 HyperCore)以及价格辅助合约。Exchange 直接读取预编译合约,不经过它们。

    合约地址见合约地址。

    预编译合约(HyperCore)

    • BBO 0x000000000000000000000000000000000000080e:最优买价和最优卖价;二者的中点就是成交价。
    • 标记价 0x0000000000000000000000000000000000000806:Hyperliquid 的标记价,供休眠的价格防护读取,并在市场下架时作为备用价格。
    • 预言机价 0x0000000000000000000000000000000000000807:Hyperliquid 的预言机价,用途与标记价相同。
    • CoreWriter 0x3333333333333333333333333333333333333333:向 HyperCore 发送操作的系统合约。充值代理合约用它把 USDC 发送到 Exchange 的 HyperCore 账户,Exchange 用它把提现支付到你的 HyperCore 账户。

    余额预编译合约让 Exchange 在入账之前核实充值确实已经到账(充值:CREATE2 代理合约)。

    一笔交易的完整流程

    你用会话密钥签署一个意图,应用把它发送给中继,中继检查后将其排队。中继把排队的意图打包成一个批次发送给 BatchExecutor,后者为每个意图调用一次 Exchange。Exchange 通过 SessionKeyManager 验证签名,读取 BBO 得到成交价,开仓或与 LP 结算平仓,更新你的余额;如果亏损,还会让 Tokenomics 为你铸造 TOKEN。来自许多账户的意图共用一笔交易,但每个意图单独结算:中继把每个调用都标记为允许失败,因此一个意图失败不会影响其他意图。

    前端

    每一笔开仓和平仓都由我们的中继提交。其他前端可以生成相同的签名,并通过中继的 API 发送(意图 API),但不能直接向合约提交开仓或平仓。

    链下服务

    服务 职责
    中继接收端 接收已签名的意图,进行检查并冻结余额。
    中继引擎 安排排队的意图并批量提交。
    索引服务 逐块跟踪链上数据,每个区块检查账目不变式,并推送账户更新。
    读取 API 与推送 向应用提供市场状态、历史数据和实时账户推送。
    维护程序 执行爆仓、结算(harvest)赔付队列、分配质押收益、调整未平仓量上限、按时间表切换派付曲线、补铸延迟的代币。
    归集与资金服务 归集充值,并把提现转到其他链。

    这些服务都不能替你签名,也不能在没有你签名的情况下转移你的资金。如果它们停止运行,交易也会停止,但你的可用余额仍可以用钱包直接提走。

    治理

    每个可升级合约的所有者都是时间锁:升级或参数修改由治理多签安排,只能在 2 天 之后执行。另一个延迟为 7 天 的时间锁控制谁持有第一个时间锁的角色。守护者多签可以在紧急情况下立即行动,但只限于风险页面列出的有限范围。

    最后更新: