Skip to main content

中继器

中继器负责确保消息传递到接收方。中继器是Hyperlane协议中无需许可且不可分割的一部分。任何人都可以运行中继器!

info

想要运行一个中继器?查看Relayer 指南。

note

运行你自己的中继器涉及部署IGP contract,并在其中维护代币汇率和燃料费价格,以准确收取消息传输费用。因此,我们只建议在设置无需许可部署的网桥时这样做,而不是重用现有的网桥。

中继器被配置为在两个或多个链之间中继消息。中继器观察原始Mailbox合约,监视新消息。当检测到新消息时,中继器查询目的链以确定消息接收者的Interchain Security Module

然后,中继器负责收集该ISM所需的元数据。这可能因ISM而异,可能包括来自一个或多个validators、merkle证明、零知识证明等等的签名!

最后,中继器使用上述元数据在目标链上调用Mailbox.process()将消息传递给收件人。

tip

中继器将定期重试元数据收集和消息提交。这对于提高验证器宕机或目的地交易费用临时峰值的弹性非常重要。

中继器不能从协议中直接获得令牌激励,但运营商可以配置他们处理的消息的费用结构,使他们能够通过提供关键服务获得收入流。有关更多信息,请查看[interchain gas payments](../interchain-gas payment.mdx)。

中继器可以轻松配置它们希望处理的消息。目前,中继器将支持:

  1. 发送/接收方白名单。
  2. 发件人/收件人黑名单。
  3. 接收payments on the origin chain以处理目标链上的消息的能力。

为了方便,Hyperlane将运行一个开源的可配置的中继代理,以rust二进制文件的形式实现。如果你想运行你自己的relayer,我们已经开源了源代码 binary here

错误处理

当处理失败时,中继器将使用指数回滚策略周期性地重试消息。目前,没有固定的最大重试次数,超过重试次数后,中继器将停止尝试处理消息。然而,这并不是无限期重试的保证,运营商不应将此作为服务水平协议(SLA)的依赖。