实验环境
两条平行链-链A(2008)和链B(2009)
一条中继链
实验目的
通过orml-xcm打开链A和链B之间的hrmpchannel
前提准备
平行链代理账户需要一定的中继链token,所以需要在中级链通过xcmPallet.limitedReserveTransferAssets()向指定的平行链发送代币
下图例子
平行链代理账户,这是通过paraid生成的账户,他是确定的账户。
波场TRON开启一币挖五币世纪挖矿:据波场TRON官方最新消息,波场TRON世纪挖矿一币挖五币,官方赠送TRX,JST,SUN,BTT,WIN等主流代币参与挖矿。波场TRON世纪挖矿时间:3月8日21:00-6月7日20:59 (SGT),首期活动时间为:3月8日21:00至4月5日20:59 (SGT),通过在挖矿相关平台:SUN.io、JustLend.org 、JustSwap.org进行LP与Lend质押,使用支持波场TRON支持钱包(TRONLink,TokenPocket,imToken,BitKeep等)进行挖矿。
与此同时,挖五币交易对也可以获得项目方代币,实现多币互挖,波场基金会联合BitTorrent, JUST,SUN, WIN基金会,将按照项目方赞助资金比例排名,最高补贴50%,最高总补贴每日100万美金等值的TRX,BTT,JST,SUN,WIN大礼包(统称为波场TRON大礼包)。详细规则将近期公布。详情见官网公告。[2021/2/28 18:01:18]
para-id=2115的平行链代理账户是:5Ec4AhNzgnZ7jXzsdUAEbGBWu2GNfwppYZdf6P1JqNq6BntW
公告 | 波场TRON公示超级代表5000万TRX激励计划第二轮名单:随着波场TRON第22号、27号提案顺利通过,波场TRON新的激励机制已正式生效。为表达波场TRON超级代表对波场TRON生态建设所做出的杰出贡献,波场TRON基金会已于2019年11月推出5000万TRX激励计划奖励超级代表,目前5000万TRX激励计划第二轮名单已公示,可点击原文链接进行查看。[2020/1/3]
OpenHRMP
开通HRMPchannel的步骤:
发送方平行链发送一个初始化开放通道请求。
接收方平行链接受请求。
两条链需要互相交替进行操作,因为hrmp是单向的,如果需要进行跨链资产转账就需要打开双向的hrmp通道。
下面通过链A为Sender,链B为Recipient,以打开链A->链B的Hrmpchannel为例
动态 | 波场TRON超级代表5000万TRX激励计划名单已公示:据波场TRON官方最新消息,波场TRON超级代表5000万TRX激励计划获奖名单已经公布,奖励发放对象是符合发放要求的波场TRON超级代表。其中,Skypeople、Sesameseed等共计20名波场TRON超级代表获得了此次奖励。如公示期间不存在异议,波场TRON基金会将在公示期结束后10个工作日内发放奖励。波场TRON基金会于2019年11月推出5000万TRX激励计划奖励超级代表,希望超级代表继续发挥积极作用,推动波场TRON的健康发展。[2019/12/17]
链ASender2008
1.在中继链构造hrmp.hrmpInitOpenChannel()的结构体,并获取encodedcalldata。
Karura 开始以平行链的方式稳定出块:据PolkaWorld消息,Karura 已经开始以平行链的方式稳定出块。[2021/6/22 23:57:17]
这里有三个参数
Recipient接收者的ParaId
proposeMaxCapacity也是个限制的值
proposeMaxMessageSizexcm消息的大小限制
其中proposeMaxCapacityproposeMaxMessageSize的值不能设置的太大,必须要比中继链规定的最大配比要小,要不然会出错。通过中继链ChainState下的configuration.activeConfig()方法查找这项约束。
Crust Network已作为平行链接入波卡测试网Rococo V1:波卡生态中的分布式存储项目Crust Network在推特上宣布,其已作为平行链接入波卡测试网Rococo V1。[2021/2/23 17:42:47]
2.回到平行链,通过sudo构造ormlXcm.sendAsSovereign()
ormlXcm.sendAsSovereign(dest:XcmVersionedMultiLocation{V1:{parents:1interior:Here}}message:XcmVersionedXcm{V2:}{BuyExecution:{fees:{id:{Concrete:{parents:0interior:Here}}fun:{Fungible:40,000,000,000}}weightLimit:Unlimited}}{Transact:{originType:NativerequireWeightAtMost:1,000,000,000call:{encoded:}}}{DepositAsset:{assets:{Wild:All}maxAssets:1beneficiary:{parents:0interior:{X1:{Parachain:}}}}}]})
-hex-call>为上面我们构造的encodecalldata:0x1700d907000008000000e21f0000
为我们当前平行链的paraid:2008
交易成功之后,会在中继链执行encodecalldata的函数。
链BRecipient2009
1.在中继链构造hrmp.hrmpAcceptOpenChannel()的结构体,并获取encodedcalldata。
其中参数中的sender为发送者的paraid,也就是对应链A的paraid
2.回到平行链,通过sudo构造ormlXcm.sendAsSovereign()
ormlXcm.sendAsSovereign(dest:XcmVersionedMultiLocation{V1:{parents:1interior:Here}}message:XcmVersionedXcm{V2:}{BuyExecution:{fees:{id:{Concrete:{parents:0interior:Here}}fun:{Fungible:40,000,000,000}}weightLimit:Unlimited}}{Transact:{originType:NativerequireWeightAtMost:1,000,000,000call:{encoded:}}}{DepositAsset:{assets:{Wild:All}maxAssets:1beneficiary:{parents:0interior:{X1:{Parachain:}}}}}]})
为上面我们构造的encodecalldata:0x1701d8070000
为我们当前平行链的paraid:2009
发起交易后,在中继链可以查看到执行成功的日志。
检查是否成功打开HRMPChannel
1.查看中继链存储hrmp.hrmpOpenChannelRequestList()
2.观察中继链页面中parachains的in/out内容
参考链接
OpenHRMPChannel:
https://wiki.acala.network/build/development-guide/composable-chains/open-hrmp-channel
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。