全链开发组件层MOS

全链开发组件层

怎么运行的

MOS消息使得建立在一条链上的项目可以轻松地将一些项目信息同步到其他链上,并且还可以调用其他连接链上的合约方法。

MOS 使用 MAP Protocol 轻客户端来验证跨链消息的交易,以确保跨链消息在链上真实可查。

通过 MOS,您可以实现与两条链的互操作:

  • 从A链调用B链上的合约。

  • 将A链中的消息变化打包写入B链,实现消息同步

先决条件

  • 应用程序必须位于 MAP 协议支持的链之一上。请参阅文档以获取部署 MAPO 轻客户端的链列表。该列表会随着新链的添加而更新。

  • 跨链消息的可执行合约权限必须授权给对应链上的MOS合约。

  • A链和B链都必须部署MOS消息合约(Near Chain的MOS消息仍在开发中)。

MOS如何完成跨链消息

在源头链

  1. 用户(dApp)整理需要跨链的消息,整理目标链调用的callData

  2. dApp调用MOS的transferOut方法,支付跨链的gas费

  3. MOS发送跨链交易并弹出跨链消息日志。您可以在源链浏览器上查看交易详情。

在地图中继链上

  1. 信使检测源链上的消息日志,并从源链上构建证明数据,并调用方法transferIn通知中继链上的 MOS 合约。

  2. MOS中继合约(MAP中继链上的MOS合约)确认源链的消息日志,通过轻客户端验证源链交易的真实性,判断是要去另一条链,发送交易,并继续弹出跨链消息日志。

  3. 如果MAP中继链是目标链,则执行call方法并弹出执行日志。

在目的地链

  1. Messenger 检测 MAP 中继链上的消息日志,并从中继链上构建证明数据,并调用方法transferIn通知目标链上的 MOS 合约。

  2. MOS合约通过轻客户端验证MAPO消息日志的真实性。

  3. 目的链弹出执行日志,完成消息跨链合约调用。

流程架构

Last updated