Moonbeam与LayerZero之间的跨链互连合约

LayerZero旨在成为适用于跨链消息传递的轻量级互操作性协议。LayerZero互连合约设计的优势包含随机排序消息和可进行配置的无需信任。使用LayerZero的互连合约解决方案,开发人员可以构建能够访问波卡、以太坊、Avalanche、Swimmer等公链功能的dApp。

多链dApp目前作为跨多个不同EVM协议的整合接口。协议将能够使用LayerZero的消息传递将其合约进行跨链整合,从而实现多链部署,在原先孤立的生态系统之间实现进阶的互操作性和功能。

为展示互连合约的强大功能,此演示将会把一个字符串自一个EVM测试网发送并存储至另一个EVM测试网。该演示需要一个已添加Moonbase Alpha网络的MetaMask帐户,您可以通过访问Moonbeam文档库页面来完成此操作。

LayerZero概览

LayerZero是一种可配置信任的协议,提供安全的跨链通信功能。智能合约形式的超轻节点(ULN)将为区块链提供其他被桥接链的区块头,但仅会以效率为导向提供。LayerZero终端为包含ULN的智能合约,与预言机和中继器进行通信。

预言机组件负责提供和接收区块头。应用可以从包括Chainlink在内的预言机市场中进行选择,并将预言机组件设计成需要多个实体同意。区块头将被发布到目标链,允许对消息进行链上验证。中继器将在接收后提供跨链消息的证明,这些证明可以通过区块头进行验证,其后允许消息在目标链上完成执行。

任何人都可以维护中继器,在实际应用中,LayerZero负责管理当今应用可以使用的中继服务。在接下来的数月中,中继器的开源实现将会创建一个中继器市场,让应用可以从中选择并设计类似于预言机组件,让中继器系统更加去中心化。系统的安全性依赖于预言机和中继器系统之间的分离,因此系统的无需信任功能来自对中继器和预言机执行者的信任程度。

图片来源于LayerZero

这个简易的智能合约范例只包含一个智能合约,NonblockingLzApp。该智能合约将与LayerZero终端交互以接收和发送消息,并通过停止接收未来消息来阻止失败交易的发生。

连接SimpleGeneralMessage合约

现在我们可以用最基本的方式实践。要了解您在做什么,请查看您即将部署的合约,该合约已在GitHub gist中提供。

首先,该合约的母合约为NonblockingLzApp,它是从LayerZero GitHub库导入的。该母合约简化了使用LayerZero终端智能合约的技术细节,因此可以非常容易接收跨链消息。

请注意,NonblockingLzApp继承自LzApp。要了解两个合约之间的区别,首先要知道,如果任何连接的合约收到来自LayerZero的消息,并且在收到该消息时,发生未捕获的异常,则将无法收到来自LayerZero的其他消息。

<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值