如何使用 Hyperlane Warp Routes 进行代币桥接
本节提供了通过部署 Hyperlane Warp Route 合同创建跨链代币桥的逐步指南。
前提条件
- Hyperlane CLI
- 用于合同交易签名的私钥
1. 配置
Warp Route 部署配置
要部署路由,您需要一个 Warp Route 部署配置文件。有效的配置将指定:
- 该 Warp Route 是为哪个链上的哪个代币创建的?
- 可选: Hyperlane 连接详细信息,例如 Mailbox 的 合同地址、Interchain Gas 和 Interchain Security Modules 的合同地址。
- 可选: 代币标准,包括 ERC20(可替代代币)、ERC721(NFT)和 ERC4626(收益代币)。请注意,ERC721 支持是实验性的,一些 Hyperlane 工具尚不支持 NFT。
创建 Warp Route 部署配置文件的最简单方法是使用 CLI 的配置命令:
hyperlane warp init
此命令提供了一个逐步指南,直接在终端中提示您进行配置选择。您将被要求为配置的每个部分选择特定选项,例如网络类型、要连接的链、代币类型以及是否使用受信任的 ISM。
部署配置架构
您的配置由链名称到部署配置的映射组成。每个配置设置有关您要为其创建 Warp Route 的代币的详细信息。
- 类型:
- 将其设置为
collateral
以创建 ERC20/ERC721 代币的基本 Warp Route - 将其设置为
collateralVault
以创建一个将存入现有 ERC4626 金库的 ERC20 代币的收益型 Warp Route - 将其设置为
native
以创建一个原生代币(例如以太币)的 Warp Route
- 将其设置为
- 地址:
- 如果使用
collateral
,则为要创建路由的 ERC20/ERC721 合同的地址 - 如果使用
collateralVault
,则为要存入的现有 ERC4626 金库的地址
- 如果使用
- isNft: 如果使用
collateral
针对 ERC721 合同,则设置为true
。
可选字段
您可以在配置条目中指定以下可选值。如果未提供任何值,部署者将尝试从其他地方提取这些值。在元数据(符号、名称、小数位数)的情况下,它将查询合同。对于地址(邮箱、ISM),它将检查注册表,无论是您的(如果提供)还是 默认的。
- 符号: 代币符号
- 名称: 代币名称
- 小数位数: 代币的小数位数
- 邮箱: 用于发送和接收消息的 邮箱 合同的地址
- interchainSecurityModule: 用于验证跨链消息的 跨链安全模块 的地址
示例
有关使用本地 anvil 链的最小 Warp 部署配置示例,请参见 warp-route-deployment.yaml
。
- 了解有关 Warp Route 类型和不同配置的更多信息,请参阅以下部分:
链配置
部署将需要关于任何将要交互的链的基本信息。如果目标链尚未在 Hyperlane 注册表 中,您必须为它们指定链元数据。有关详细信息,请参见 CLI 参考。
要查看当前已知的链,请运行以下命令:
hyperlane registry list
要为其他链创建链元数据配置,请运行以下命令:
hyperlane registry init
或者,您可以手动定义配置。有关其架构,请参见 ChainMetadata 类型。有关示例,请参见 chain-config.yaml。
在可能的情况下,请确保在您的 warp route 配置中重用任何现有链,而不是设置新的邮箱。
2. 部署 Warp Route
一旦您的配置准备就绪,请使用以下命令启动 Warp Route 部署:
hyperlane warp deploy
在部署过程中,CLI 需要访问您的私钥以签署交易。您可以通过以下两种方式之一进行设置:
-
环境变量:将您的私钥设置为 HYP_KEY,以避免每次输入:
export HYP_KEY=<your_private_key>
-
手动输入:或者,您可以在部署过程中提示时直接输入私钥。
hyperlane warp deploy
命令将创建两个新的工件文件:
otherchain-yourchain-addresses.yaml
:包含新部署的 Warp Route 合同的地址。otherchain-yourchain-config.yaml
:用于通过 CLI 和 Warp UI 与 Warp Route 交互的配置文件。
这些文件将位于 $HOME/.hyperlane/deployments/warp_routes/
下。
3. 测试
您可以使用以下命令启动单个 wei 的测试转账:
hyperlane warp send --relay --symbol TOKEN
--relay
标志是可选的,将消息中继到目标链。
您还可以在后台运行一个仅为您的 warp route 提供服务的中继器:
hyperlane relayer --symbol TOKEN
您可以在设置了 warp route 的任一方向进行测试。但是,如果您部署了 native
或 collateral
warp route,您必须选择与该 native
或 collateral
类型部署相对应的起源。默认情况下,发送的金额为代币的最小单位 1
。
后续步骤
-
如果您正在遵循 将 Hyperlane 部署到新链 指南并希望连接其他链或与 Abacus Works 一起进入生产环境,请继续查看 提交到注册表 指南。
-
有关通过 UI 与 Warp Routes 交互的更多信息,请继续查看 Warp UI 文档。
了解更多
-
查看 Warp Route 参考页面,以获取有关 Warp Route 接口和安全影响的更多信息。 接口 部分涵盖调用
transferRemote
将代币转移到目标链上指定的接收者。请注意,在调用transferRemote
之前,您必须提示进行代币批准。 -
Warp Route 是一种 路由器 应用程序,允许您将多个合同跨链链接在一起的模式。