平行链上线技术系列五:平行链通过orml-xcm打开hrmp-ODAILY_CHA:eFin Decentralized

实验环境

两条平行链-链A(2008)和链B(2009)

一条中继链

实验目的

通过orml-xcm打开链A和链B之间的hrmpchannel

前提准备

平行链代理账户需要一定的中继链token,所以需要在中级链通过xcmPallet.limitedReserveTransferAssets()向指定的平行链发送代币

下图例子

平行链代理账户,这是通过paraid生成的账户,他是确定的账户。

Nodle赢得波卡Polkadot第11次平行链插槽拍卖:3月10日,据波卡Polkadot官方消息,Polkadot网络第11次平行链插槽拍卖的蜡烛期于3月10日22时14分结束。整个蜡烛期内,Nodle领先了87.74%的区块,Equilibrium领先了12.22%的区块。在经历了1小时22分钟的「摇骰子」时间,在23时35分,Nodle以锁定2,475,500DOT赢得Polkadot第11次平行链插槽拍卖,第12次插槽拍卖预计在3月13日凌晨2时3分开启。

据悉,这是Polkadot第二批最后一次拍卖,第二批一共进行了6次拍卖,获胜者分别是Efinity、Centrifuge、Composable Finance、HydraDX、Interlay和Nodle,它们将在2022年3月12日早上7时23分接入Polkadot中继链并上线主网。目前包括已经完成的和正在进行的Crowdloan,一共有129,607,700DOT被锁定,约占总量11%。[2022/3/11 13:50:11]

para-id=2115的平行链代理账户是:5Ec4AhNzgnZ7jXzsdUAEbGBWu2GNfwppYZdf6P1JqNq6BntW

波卡先行网络Kusama将启动第二轮五次平行链插槽拍卖:波卡先行网络Kusama委员会将在未来几周内进行另外五场平行链插槽拍卖,时间安排在9月1日、8日、15日、22日和29日格林尼治标准时间12:00(北京时间20:00)。(Cointelegraph)[2021/8/19 22:25:23]

OpenHRMP

开通HRMPchannel的步骤:

发送方平行链发送一个初始化开放通道请求。

接收方平行链接受请求。

两条链需要互相交替进行操作,因为hrmp是单向的,如果需要进行跨链资产转账就需要打开双向的hrmp通道。

下面通过链A为Sender,链B为Recipient,以打开链A->链B的Hrmpchannel为例

链ASender2008

1.在中继链构造hrmp.hrmpInitOpenChannel()的结构体,并获取encodedcalldata。

Gavin Wood:Kusama平行链或在几天内上线:2021年4月1日,在Polkadot & Friends北京场(NFT专场)上 ,波卡创始人Gavin Wood分享了波卡的最新进展:

Gavin Wood表示,Kusama平行链或在几天内上线。(PolkaWorld)[2021/4/1 19:36:28]

这里有三个参数

Recipient接收者的ParaId

proposeMaxCapacity也是个限制的值

proposeMaxMessageSizexcm消息的大小限制

其中proposeMaxCapacityproposeMaxMessageSize的值不能设置的太大,必须要比中继链规定的最大配比要小,要不然会出错。通过中继链ChainState下的configuration.activeConfig()方法查找这项约束。

Rococo已经开始平行链卡槽拍卖测试:Rococo已经开始平行链卡槽拍卖测试,Phala和ChainX已经参与拍卖。Phala、Zenlink、ChainX、Acala等5个项目已经开始众贷(Crowdloan)。[2021/3/25 19:16:48]

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:}}}}}]})

Phala、KILT已作为平行链接入Rococo V1测试网:波卡平行链测试网Rococo链上数据显示,Phala Network、KILT已作为平行链接入了Rococo V1网络。

根据Rococo V1的接入准则,项目方成功在Rococo V1平行链插槽上运行,意味着已完成了Polkadot和Kusama上运行的技术准备,成为了技术能力就绪的卡槽拍卖候选者。[2021/1/29 14:19:43]

-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

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

水星链

[0:15ms0-0:953ms