PAR:平行链上线技术系列五:平行链通过orml-xcm打开hrmp-ODAILY

实验环境

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

一条中继链

实验目的

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

前提准备

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

下图例子

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

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

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

OpenHRMP

开通HRMPchannel的步骤:

Acala波卡平行链众贷活动筹集DOT数量突破600万枚:11 月 7 日消息,据官方数据显示,Acala 社区参与众贷人数达 40,272 人,共锁定 6,277,366.9 枚 DOT,在波卡首轮平行链插槽竞拍中暂时占据榜首位置。[2021/11/7 6:36:47]

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

接收方平行链接受请求。

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

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

链ASender2008

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

Kusama平行链Moonriver已部署至第一阶段:Moonbeam官方消息,Kusama平行链Moonriver完成第0阶段技术准备,现已升级至第一阶段部署期。Moonriver是部署在Kusama,同时兼容以太坊的智能合约平台,是Moonbeam的姐妹网络。Moonriver完成第一阶段的部署工作约需1-2周,此阶段将开放更多去中心化功能,如添加收集人节点等。[2021/7/10 0:41:42]

这里有三个参数

Recipient接收者的ParaId

proposeMaxCapacity也是个限制的值

proposeMaxMessageSizexcm消息的大小限制

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

Parachain Race上线,可展示平行链竞拍奖励细节:据官方消息,平行链竞拍信息聚合页Parachain Race已上线,该聚合页展示平行链是否为先行网、奖励细节、是否已开启交易、奖励初始释放数量、是否获得Web3 Grant、Substrate Builders Program等数据,可供用户及媒体快速对比平行链奖励规则,作为标准化数据传播和引用。[2021/6/18 23:47:41]

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

波卡Rococo V1平行链测试网预计将于圣诞节前夕上线:波卡平行链测试网Rococo V1发布会已于12月17日0: 00举办。会议公布了未来Rococo V1平行链测试网发布的相关安排以及进展,具体内容总结如下:1. Rococo V1预计将支持10个左右的平行链项目;2. 测试网中每个平行链需至少运行一个验证人节点以及Curator管理人节点;3. Parity将 作为Rococo的评估者,同时运行部分验证人节点参与监督平行链测试;4. Rococo V1测试网预计将于圣诞节前夕上线;5. 测试网不会.上线测试平行线程;6. 参与平行链测测试将遵循先到先得以及由简入繁两个原则。(PolkaBase)[2020/12/17 15:29:36]

-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:31ms0-1:102ms