如何从 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>
。
- 代币符号可以在链上找到,或在本地的 Hyperlane 注册表中找到。默认情况下,它被写入到
- 访问当前拥有 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
块。
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 路由现在已准备好用于生产环境。