多签
高级功能
HyperCore 支持原生多签操作。这允许多个私钥控制单个账户,以增强安全性。与其他链不同,多签在 HyperCore 上是内置原语,而无需依赖智能合约。
多签工作流程描述如下:
- 要将用户转换为多签用户,该用户需发送一个
ConvertToMultiSigUser操作,指定授权用户集合,以及签署操作所需的授权用户最低数量。授权用户必须是 Hyperliquid 上的现有用户。一旦用户被转换为多签用户,其所有操作都必须通过多签发送。 - 要发送操作,每个授权用户必须对一个载荷签名以生成签名。
MultiSig操作可包装任意普通操作,并包含来自授权用户的签名列表。 MultiSig载荷还包含目标多签用户,以及最终将MultiSig操作发送到区块链的授权用户。最终操作的发送者也称为多签操作的leader(交易牵头地址)。- 发送多签操作时,仅验证并更新发送该交易的授权用户的 nonce 集合。
- 与普通操作类似,牵头者也可以是某个授权用户的 API 钱包。在这种情况下,将检查并更新该 API 钱包的 nonce。
- 多签用户的授权用户集合和/或签名门槛可通过发送一个包装
ConvertToMultiSigUser操作的MultiSig操作来更新,后者描述新的状态。 - 多签用户可通过多签发送
ConvertToMultiSigUser转回普通用户。此时,授权用户集合可设为空,账户将被转换为普通用户。
其他注意事项:
- 牵头者(交易牵头地址)必须是授权用户,而不是多签账户本身
- 每个签名必须使用相同的信息,例如相同的 nonce、交易牵头地址等。
- 牵头者必须在提交操作前收集所有签名
- 一个用户可以既是多签用户,同时又是另一个多签用户的授权用户。一个用户可以是多个多签用户的授权用户。单个多签用户最多允许 10 个授权用户。
对 HyperEVM 用户的重要提示:将用户转换为多签后,其 HyperEVM 用户仍可由原始钱包控制。CoreWriter 对多签用户不适用。总体而言,多签用户在转换前后都不应与 HyperEVM 交互。
代码示例请参见 Python SDK。