跳到主要内容

如何使用 Hyperlane Warp Routes 进行代币桥接

本节提供了通过部署 Hyperlane Warp Route 合同创建跨链代币桥的逐步指南。

前提条件

1. 配置

Warp Route 部署配置

要部署路由,您需要一个 Warp Route 部署配置文件。有效的配置将指定:

  • 该 Warp Route 是为哪个链上的哪个代币创建的?
  • 可选: Hyperlane 连接详细信息,例如 Mailbox 的合同地址、Interchain GasInterchain Security Modules 的合同地址。
  • 可选: 代币标准,包括 ERC20(可替代代币)、ERC721(NFT)和 ERC4626(收益代币)。请注意,ERC721 支持是实验性的,一些 Hyperlane 工具尚不支持 NFT。

创建 Warp Route 部署配置文件的最简单方法是使用 CLI 的配置命令:

hyperlane warp init

此命令提供了一个逐步指南,直接在终端中提示您进行配置选择。您将被要求为配置的每个部分选择特定选项,例如网络类型、要连接的链、代币类型以及是否使用受信任的 ISM。

提示
  • 如果您的配置看起来正确,您可以直接跳到 步骤 2:部署。 或者,查看下面有关如何手动定义配置的详细信息。
  • 如果您在设置代币桥时需要任何帮助,请在 Discord 的 #developers 上联系或 与我们联系

部署配置架构

您的配置由链名称到部署配置的映射组成。每个配置设置有关您要为其创建 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

提示

链配置

部署将需要关于任何将要交互的链的基本信息。如果目标链尚未在 Hyperlane 注册表 中,您必须为它们指定链元数据。有关详细信息,请参见 CLI 参考

要查看当前已知的链,请运行以下命令:

hyperlane registry list

要为其他链创建链元数据配置,请运行以下命令:

hyperlane registry init

或者,您可以手动定义配置。有关其架构,请参见 ChainMetadata 类型。有关示例,请参见 chain-config.yaml

注意

在可能的情况下,请确保在您的 warp route 配置中重用任何现有链,而不是设置新的邮箱。

2. 部署 Warp Route

一旦您的配置准备就绪,请使用以下命令启动 Warp Route 部署:

hyperlane warp deploy

在部署过程中,CLI 需要访问您的私钥以签署交易。您可以通过以下两种方式之一进行设置:

  1. 环境变量:将您的私钥设置为 HYP_KEY,以避免每次输入:

    export HYP_KEY=<your_private_key>
  2. 手动输入:或者,您可以在部署过程中提示时直接输入私钥。

hyperlane warp deploy 命令将创建两个新的工件文件:

  1. otherchain-yourchain-addresses.yaml:包含新部署的 Warp Route 合同的地址。
  2. 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 的任一方向进行测试。但是,如果您部署了 nativecollateral warp route,您必须选择与该 nativecollateral 类型部署相对应的起源。默认情况下,发送的金额为代币的最小单位 1

提示

后续步骤

了解更多

  • 查看 Warp Route 参考页面,以获取有关 Warp Route 接口和安全影响的更多信息。 接口 部分涵盖调用 transferRemote 将代币转移到目标链上指定的接收者。请注意,在调用 transferRemote 之前,您必须提示进行代币批准。

  • Warp Route 是一种 路由器 应用程序,允许您将多个合同跨链链接在一起的模式。