实验环境
两条平行链-链A(2008)和链B(2009)
一条中继链
实验目的
通过orml-xcm打开链A和链B之间的hrmpchannel
平行链代理账户需要一定的中继链token,所以需要在中级链通过xcmPallet.limitedReserveTransferAssets()向指定的平行链发送代币
下图例子
平行链代理账户,这是通过paraid生成的账户,他是确定的账户。
para-id=2115的平行链代理账户是:5Ec4AhNzgnZ7jXzsdUAEbGBWu2GNfwppYZdf6P1JqNq6BntW
OpenHRMP
开通HRMPchannel的步骤:
发送方平行链发送一个初始化开放通道请求。
接收方平行链接受请求。
Rococo将过渡为去中心化的社区平行链测试平台:10月22日消息,Parity Technologies的生态建设负责人BenWei?表示,波卡平行链测试网Rococo此前一直专注于平行链共识功能的内部测试,现将转为去中心化的社区平行链测试平台。接下来的几周,Parity团队将分阶段在Rococo推出不同的功能,并将Rococo过渡到完全由社区维护的平行链测试平台。
Parity工程师已经开始开发一个平行链上线自动化模块,旨在允许每个平行链构建者在有限的时间范围内定期连接到Rococo,计划在11月初发布。[2021/10/22 20:49:57]
两条链需要互相交替进行操作,因为hrmp是单向的,如果需要进行跨链资产转账就需要打开双向的hrmp通道。
下面通过链A为Sender,链B为Recipient,以打开链A->链B的Hrmpchannel为例
链ASender2008
1.在中继链构造hrmp.hrmpInitOpenChannel()的结构体,并获取encodedcalldata。
KILT在赢得Kusama第六个平行链插槽后启动主网:9月8日消息,Kusama第六次拍卖的蜡烛期结束,KILT以锁定219,999.9个KSM成功赢得Kusama的第六个插槽。KILT将在18时27分接入Kusama中继链,以平行链的形式出块。(PolkaWorld)[2021/9/8 23:09:30]
这里有三个参数
Recipient接收者的ParaId
proposeMaxCapacity也是个限制的值
proposeMaxMessageSizexcm消息的大小限制
其中proposeMaxCapacityproposeMaxMessageSize的值不能设置的太大,必须要比中继链规定的最大配比要小,要不然会出错。通过中继链ChainState下的configuration.activeConfig()方法查找这项约束。
2.回到平行链,通过sudo构造ormlXcm.sendAsSovereign()
平行链测试网Rococo已经上线公益平行链Statemint:据官方消息,目前平行链测试网Rococo已经上线公益平行链Statemint,并开始测试资产发行。目前,Acala、Zenlink、ChainX、Bifrost已经在 Statemint 测试网发行了他们自己的测试 token。[2021/4/23 20:50:03]
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:???????????????}????????????}??????????}????????}??????}????]??})
BitMax大航海计划深圳站圆满结束 负责人宣布将支持波卡平行链竞拍:BitMax Defi Night暨大航海计划全国招募活动深圳站于今日圆满结束。本次活动由BitMax交易所携手IOSG,浑水公关,Happy Block,BlockArk,SOSOLX,链向财经,果味财经共同主办,近百家社区、机构受邀参与了本次酒会。
会上,BitMax官方分析了Defi/波卡生态的发展,并宣布BitMax将会支持会支持平行链竞拍。同时,还对BitMax大航海计划做了详细解读,期待更多的社区、媒体、机构达成合作。
作为本次酒会的联合主办方IOSG 研究院负责人Momir出席了本次酒会,IOSG Ventures 成立于2017年,是一家专注于区块链及加密货币的美元基金。投资金融科技、物联网、机器学习、区块链、密码学等领域非常早期的项目。[2020/9/4]
-hex-call>为上面我们构造的encodecalldata:0x1700d907000008000000e21f0000
声音 | EIDOS:若持有者达到10万 或考虑创建波卡平行链并且空投给持有者:据EnuMivo官方消息,如果在空投结束时达到10万名EIDOS持有者,会极力考虑创建一个Polkadot平行链(parachain)并且100%空投给持有者。不过,我们必须考虑分布曲线。我们不想要财阀统治。我们想要一条真正的民主链。[2019/11/6]
为我们当前平行链的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
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。