跳到主要内容

如何从 Warp 路由中移除受信任的中继器 ISM

本指南解释了如何使用 Hyperlane CLI 从您的 Warp 路由中移除默认的受信任中继器 ISM。在将 Warp 路由准备好用于生产时,移除受信任的中继器 ISM 是一个关键步骤。

使用 Hyperlane CLI

在首次使用 CLI 部署时,新创建的 Warp 路由默认使用受信任的中继器 ISM,因此您无需运行中继器或验证者。

为了进入生产环境,您需要使用 Hyperlane CLI 移除此 ISM。

前提条件

  • warp 路由配置。
    • 对于新的部署,此配置可以使用 CURRENT_DIR/configs/warp-route-deployment.yaml 的文件路径。
    • 对于现有的部署,如果在注册表中存在,可以使用 hyperlane warp read 生成配置。
  • warp 路由代币符号。
    • 代币符号可以在链上找到,或在本地的 Hyperlane 注册表中找到。默认情况下,它被写入到 $HOME/.hyperlane/deployments/warp_routes/<tokenSymbol>
  • 访问当前拥有 warp 路由的私钥。
信息

如果您遵循了 部署 Warp 路由 指南,您很可能已经部署了一个受信任的中继器设置为签名者地址的 Warp 路由。

要确认使用 Hyperlane CLI,请找到您的代币符号和其部署的链:

hyperlane warp read --symbol <tokenSymbol>

然后,您可以选择要移除受信任中继器的 Warp 路由。

运行 warp read 后,您应该在 interchainSecurityModule 下看到类似的配置,其中包含 trustedRelayerIsm

yourchain:
...
interchainSecurityModule:
address: "0xd54d32cD6a62482497252D59E6cCC1445fF0b92d"
type: "staticAggregationIsm"
modules:
- address: "0x50b6dA835D9b8b20523891410a2E042855B465C8"
relayer: "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"
type: "trustedRelayerIsm"
- owner: "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"
address: "0xcE512189fF1BD41186E9eDda02BF321Fb1FC6eAc"
type: "defaultFallbackRoutingIsm"
domains: {}
threshold: 1

这个特定的配置将 relayer 地址允许调用 Warp 路由的 handle() 函数。换句话说,relayer 可以在 Warp 路由上执行任意消息。在自我中继功能之外,这可能是不可取的。

默认情况下,warp read 将输出保存到 CURRENT_DIR/configs/warp-route-deployment.yaml。请按照以下步骤使用 CLI 将现有所有权转移到另一个地址。

第一步:配置

通过 移除 modules 中的 trustedRelayerIsm 块来更新 warp-route-deployment.yaml。或者,您可以根据需要配置整个 modules 块。

warp-route-deployment.yaml
yourchain:
mailbox: '0x979Ca5202784112f4738403dBec5D0F3B9daabB9'
owner: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'
interchainSecurityModule:
address: '0xd54d32cD6a62482497252D59E6cCC1445fF0b92d'
type: 'staticAggregationIsm'
modules:
- - address: '0x50b6dA835D9b8b20523891410a2E042855B465C8'
- relayer: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'
- type: trustedRelayerIsm
- owner: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'
address: '0xcE512189fF1BD41186E9eDda02BF321Fb1FC6eAc'
type: 'defaultFallbackRoutingIsm'
domains: {}
threshold: 1
name: Ether
symbol: ETH
decimals: 18
totalSupply: 0
type: native

第二步:应用

使用 CLI 执行:

hyperlane warp apply \
--symbol <tokenSymbol> \
--config $(pwd)/configs/warp-route-deployment.yaml

您应该会看到一批交易在链上执行,并且最后一条消息指示 Warp 配置已更新。

第三步:确认

要确认使用 Hyperlane CLI 成功移除受信任的中继器,请使用您的代币符号和其部署的链运行以下命令:

hyperlane warp read --symbol <tokenSymbol>

运行 warp read 后,确认受信任的中继器 ISM 已从您的 Warp 路由中移除(在此示例中,它应该只包含剩余的 defaultFallbackRoutingIsm)。您应该在 interchainSecurityModule 下看到类似的配置:

yourchain:
mailbox: "0x979Ca5202784112f4738403dBec5D0F3B9daabB9"
owner: "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"
interchainSecurityModule:
address: "0x8af9445d8A3FbFBd1D5dF185B8a4533Ab060Cf36"
type: "staticAggregationIsm"
modules:
- owner: "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"
address: "0xBe0232d5d45f9aD8322C2C4F84c39e64302Cd996"
type: "defaultFallbackRoutingIsm"
domains: {}
threshold: 1
name: "Ether"
symbol: "ETH"
decimals: 18
totalSupply: 0
type: "native"

通过完成这些步骤,您已成功从 Warp 路由中移除受信任的中继器 ISM,并增强了 Warp 路由设置的安全性。您的 Warp 路由现在已准备好用于生产环境。