Moonbeam与Axelar之间的跨链智能合约_OPT:OPTI

Moonbeam构建于波卡之上并共享其可互操作未来的愿景,但跨链之间的交流不仅仅局限于平行链之中。Axelar网络协议已将其部分网络通过允许资产在Cosmos和EVM网络之间桥接,扩展至Moonbeam生态之中。

除了资产桥接之外,Axelar的通用消息传递允许智能合约能够进行跨链通信。这让开发者能够在Moonbeam上构建跨链互连合约并运用于波卡、以太坊、Avalanche、Cosmos以及更多链上。

多链dApps目前可适用统一的接口,在多个EVM链上使用。协议将能够使用Axelar的GMP技术连接其跨链合约以成为多链应用,从而在原本孤立生态系统中架构出高级的可互操作性和功能。

为示范互连合约的功能,我们将会进行一个demo演示,从测试网EVM传送并储存一个字符串至另外一条EVM链。

如果您尚未设置MetaMask,您可通过Moonbeam官方文档网站添加MoonbaseAlpha网络。

#1?Axelar合约概览

SafeMoon黑客已同意返还80%的被盗资金:金色财经报道,BNB Chain 上 DeFi 协议 Safemoon 表示,黑客将返还 890 万美元盗取资金的 80%(约 710 万美元),剩余 20% 留作赏金。

此前报道,BNB Chain 生态 DeFi 协议 SafeMoon 于 3 月 29 日遭黑客攻击,损失约 890 万美元。[2023/4/19 14:11:52]

Axelar是一条提名机制的PoS链,提供安全的跨链通信。Axelar网络上的每个验证人在链上运行Axelar支持的节点。这些验证人将会通过监控每条链上的AxelarGateway合约,一同确认从一条链传送至另外一条链的消息,而在本次demo中我们将会与两个Axelar合约中的其中之一交互。

▲图片来源于AxelarNetwork

另外一个我们即将交互的合约是AxelarGasReceiver微服务。当您使用AxelarGateway以发送跨链交易,IAxelarGasReceiver将会让您在目标链上支付子交易的费用。虽然其并非必要,但这允许终端用户仅发送一个交易实现在目标链上的自动更新。

DeFi借贷协议Moola Market遭黑客攻击,损失840万美元:金色财经报道,北京时间10月19日凌晨,基于Celo网络的去中心化金融 (DeFi) 借贷协议Moola Market在遭遇840万美元的黑客攻击后暂停运营。

根据The Block团队的分析,利用者使用了来自币安的243,000个CELO代币,然后将60,000个CELO借给Moola,借入180万个MOO作为抵押品。利用剩余的CELO抬高MOO的价格,并继续使用借来的MOO将其用作抵押品并借入所有其他代币。攻击者获得了880万CELO(价值650万美元)、765,000 cEUR(价值70万美元)、180万MOO(价值60万美元)和644,000 cUSD(价值60万美元)。

Moola Market表示,其团队正在积极调查此事件,平台上的所有活动均已暂停。同时,Moola建议用户不要交易相关代币。[2022/10/19 17:31:32]

#2?连接SimpleGeneralMessage合约

现在我们来尝试最简单的方式,我们可以在Githubgist查看目前部署的合约,来快速了解当前的操作。

Moonbirds已向持有者空投what is real?x Moonbirds:PFP:金色财经消息,Moonbirds官方宣布已向持有者空投what is real?x Moonbirds:PFP。并提醒用户,默认情况下可能隐藏在OpenSea上(授权取消隐藏)。[2022/5/14 3:15:01]

gist.github.com/jboetticher/0188244031df80e9b180568e30bfa7a5

如果您查看此合约的主合约,您将会发现其衍生于一个抽象合约IAxelarExecutable。此主合约包含Axelar合约需要与通用消息传递交互所需的一些代码。

在此主合约之中有两个函数,第一个为sendMessage。此函数通过Axelar在链间传送一个编码字符串信息,并提供在目标链支付Gas费用的选项。

第二个函数为_execute,此函数覆盖由IAxelarExecutable衍生的函数。此函数为内部函数,仅可以在AxelarGateway合约从其他链接收对此合约的消息时调用。这是我们从消息的有效负载中解析字符串的地方。

MOORE宣布获得聚点基金支持,目前已通过Certik安全审计:据官方消息,MOORE获得聚点支持后,已通过Certik安全审计,MOORE代码库的组织结构相对清晰,风控系统较严谨,CertiK官网搜索“MOORE”即可查询。MOORE为首个跨链元宇宙生态,将于7月29号20:00开启交易,总量5000万,首日流通20万个,剩余代币全部挖矿产出。[2021/7/29 1:23:07]

实践永远是最好的学习方式,所以您可以自行在MoonbaseAlpha上跟随步骤进行部署和消息传递。

#3?通过Remix在MoonbaseAlpha上部署

部署一个Demo合约最简单的方式是通过Remix。您将需要DEV以在MoonbaseAlpoha上部署,如果您尚未拥有DEV,您可以从我们提供的Faucet获取。

如需部署脚本,首先请将合约复制并贴至Remix。接着在编译页面编译合约,请同时确保您的MetaMask已连接至MoonbaseAlpha网络。随后,在Remix的部署标签中将环境设置为InjectedWeb3,此设置将会把MetaMask设置为Web3提供商。

BITUAN币团推出“持仓HTMoon奖励HTMoon\"计划:据官方消息,BITUAN币团平台已开放HTMoont提币功能,且正式推出“持仓HTMoon空投HTMoon”计划,长期支持HTMoon分红机制,与此同时,HTMoon持币用户体验及权益也再次升级。自HTMoon上线BITUAN开放交易起前半个月,平台交易及提币手续费全免(链上收取的10%与平台无关),且在此期间注册并参与交易的新用户还可获得5亿枚HTMoon空投,详情请见官网公告。[2021/5/7 21:32:52]

此合约以及使用Axelar的互连合约将需要连接两个合约的地址:AxelarGateway以及AxelarGasReceiver。您会需要在构建SimpleGeneralMessage.sol时在MoonbaseAlpha上提供其实例。

当您的合约成功部署至MoonbaseAlpha,建议您在其他与Axela部署相连接的EVM测试网重复此过程。以下为部分具有Faucet的链接,以及先前部署的SimpleGeneralMessage合约,以便您快速部署。

#4?通过Axelar从Moonbase发送跨链信息

要使用自动目标链交易发送跨链消息,您首先需要了解在目标链上要支付多少Gas费。在本示例中,MoonbaseAlpha原生资产DEV将会被用于支付Gas费用。测试网费用的衡量方式与其主网相同。截至本文撰写时,ETH价格高于AVAX,因此从DEV至rETH所需的Gas费用将会远高于DEV至FujiAVAX。

要计算原链资产至目标链Gas费用的转换,您可以使用以下脚本

github.com/jboetticher/axelar-sandbox/blob/main/axelar-sdk/script/estimateGasFee.ts

此脚本使用AxelarjavascriptSDK。以下为100000DEVWei单位的Gas费用与其他链的转换列表。100000相较于一般字符串已足够支付费用,但不适用于段落或是完整的文章。

RopstenTestnet:356806741787800000

PolygonMumbai:3390032863000000

AvalancheFuji:97036323830100000

FantomTestnet:55389864900000

现在您将Gas费用转移成Wei,您可以开始使用Remix接口操作。此范例将会传送跨链消息至Fantom测试网,但您可以根据任何EVM链填入适当的Gas数值和链名称。同时查看以下条件:

环境为Network1287上的“InjectedProvider–Web3”

您钱包具有来自Faucet的足够资金以支付交易费用和以上所需的DEV

在数值输入处输入先前步骤计算的Gas费用

在sendMessage函数调用的信息输入处输入您希望的短信息

在sendMessage函数调用处的destinationAddress输入处输入目标链上的SimpleGeneralMessage合约地址。这将会是您先前部署的地址或是上方列出预先部署的合约地址

在sendMessage函数启动处中的destinationChain输入“Fantom”

当完成所有步骤,在MetaMask执行交易并确认。

#5?追踪跨链消息

在发送您的交易之后,您应该能在Moonbase区块浏览器用交易哈希看到交易。如果成功,交易应该被确认,当视作为UTF-8时,您将能够在最底部看到交易的输入痕迹。

在一般交易中,您将会在单一区块浏览器的页面上看到交易的状态和数据。但由于此为跨链消息,将会在两条链上发生两个EVM交易。

要判断您的交易是否成功,请前往Axelarscan测试网浏览器搜寻您的交易。您可以通过Remix在原链输出的交易哈希查找对应的交易,操作后您将看到如下图所示的页面:

如果一切顺利,您的交易将被通过且您将能够在原链上看到您成功的跨链交易。如果并未自动更新,也不用担心,一般而言在测试网上确认需要数分钟时间。另外,Axelar团队也正持续优化网络的速度。

如果您想要看存储在合约中的信息,您可以通过Remix进行操作。首先,通过MetaMask连接目标链网络,确保您在“InjectedProvider”环境且合约仍为“SimpleGeneralMessage”。接着将目标链上的合约地址粘贴至“AtAddress”输入处,点击按钮,您将能够使用出现的合约查看最新信息。

#6?了解ConnectedContract的更多信息

Moonbeam的网络的互操作性中心的愿景不止于此。了解Axelar的更多信息,请访问Axelar网站。

关于通用信息传递,请访问Axelar的文档页面。

阅读关于Moonbeam如何成为区块链互操作性的领导者,请访问Moonbeam的ConnectedContracts页面。

来源:金色财经

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:0ms0-4:192ms