NFT:平行链上线技术系列五—平行链通过 orml-xcm 打开 hrmp_以太坊

实验环境

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

一条中继链

实验目的

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

前提准备

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

下图例子

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

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

OpenHRMP

开通HRMPchannel的步骤:

Project Liberty可能会作为标准平行链在年内推出:金色财经报道,据Parity Technologies 公共事务负责人 Peter Mauric 透露,Project Liberty 可能会作为标准平行链推出,这是一个为 Polkadot 生态系统和 Web 3 用户提供优质服务的机会,稍后将由社区投票作为公共利益链。此外,一个与自由项目相关的Token设计也在计划中。细节将在今年公布。Project Liberty是洛杉矶棒球队道奇队前老板 Frank McCourt 创立的去中心化社交网络协议,今年五月和波卡达成合作构建去中心化社交网络协议(DSNP)。[2022/6/13 4:21:12]

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

接收方平行链接受请求。

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

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

链ASender2008

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

波卡首个平行链Statemine上建立Tether账户议案已启动投票:5月11日消息,Kusama理事会最近已投票通过Motion 470,该议案旨在通过Kusama的治理帮助Tether在Statemine上建立账户,并且用户可以自由在Statemine上接收USDT,而不需要账户有一定数额的KSM。目前该议案已经转为197号议案进行公众投票,截至目前还有6天的投票时间和7天的执行期。

Tether首席技术官Paolo Ardoino表示,我们很高兴在Kusama上推出USDT,为其社区提供数字代币领域中流动性最强、最稳定和最受信任的Stablecoin。对于那些相信去中心化、无需许可的生态系统重要性的人来说,Kusama是这种精神的完美代表。它是一个平台,旨在将控制权交到用户手中,我们期待成为其不断发展的生态系统中的重要资产。

Statemint由Shell空白链升级,是波卡首个平行链,未来Tether也会在波卡区块链上进行部署。(Polkaworld)[2022/5/11 3:06:51]

这里有三个参数

波卡生态身份聚合协议Litentry赢得第15轮波卡平行链插槽拍卖:金色财经消息,波卡生态身份聚合协议Litentry以锁定超94万DOT赢得第15轮波卡平行链插槽拍卖。[2022/4/25 14:47:29]

Recipient接收者的ParaId

proposeMaxCapacity也是个限制的值

proposeMaxMessageSizexcm消息的大小限制

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

2.回到平行链,通过sudo构造ormlXcm.sendAsSovereign()

Kusama结束第三批插槽Auction,24% KSM锁在平行链中:11月23日消息,据PolkaWorld发文称,Kusama第15个平行链插槽Auction已结束,Genshiro以锁定47,425个KSM赢得Kusama的第15个平行链插槽,租期范围是Lease 17 - Lease 24。除此之外,Kusama网络将在Lease 17开始时候开启第16次插槽Auction,第四批插槽将有5次Auction。据悉,目前共有24.37%的KSM被锁在Kusama平行链插槽和Crowdloan中。[2021/11/23 22:10:59]

ormlXcm.sendAsSovereign(??dest:?XcmVersionedMultiLocation??{????V1:?{??????parents:?1??????interior:?Here????}??}????message:?XcmVersionedXcm??{????V2:???????}??????{????????BuyExecution:?{??????????fees:?{????????????id:?{??????????????Concrete:?{????????????????parents:?0????????????????interior:?Here??????????????}????????????}????????????fun:?{??????????????Fungible:?40,000,000,000????????????}??????????}??????????weightLimit:?Unlimited????????}??????}??????{????????Transact:?{??????????originType:?Native??????????requireWeightAtMost:?1,000,000,000??????????call:?{????????????encoded:???????????}????????}??????}??????{????????DepositAsset:?{??????????assets:?{????????????Wild:?All??????????}??????????maxAssets:?1??????????beneficiary:?{????????????parents:?0????????????interior:?{??????????????X1:?{????????????????Parachain:???????????????}????????????}??????????}????????}??????}????]??})

Bithumb将推出DeFi平台Clover作为波卡平行链:韩国加密交易所宣布Bithumb即将推出DeFi平台Clover,该平台将链接波卡网络,作为波卡平行链,由DOT技术提供支持。(Cointelegraph)[2020/10/13]

-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:?1??????interior:?Here????}??}????message:?XcmVersionedXcm??{????V2:???????}??????{????????BuyExecution:?{??????????fees:?{????????????id:?{??????????????Concrete:?{????????????????parents:?0????????????????interior:?Here??????????????}????????????}????????????fun:?{??????????????Fungible:?40,000,000,000????????????}??????????}??????????weightLimit:?Unlimited????????}??????}??????{????????Transact:?{??????????originType:?Native??????????requireWeightAtMost:?1,000,000,000??????????call:?{????????????encoded:???????????}????????}??????}??????{????????DepositAsset:?{??????????assets:?{????????????Wild:?All??????????}??????????maxAssets:?1??????????beneficiary:?{????????????parents:?0????????????interior:?{??????????????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-6:158ms