实验环境
两条平行链-链A(2008)和链B(2009)
一条中继链
实验目的
通过orml-xcm打开链A和链B之间的hrmpchannel
前提准备
平行链代理账户需要一定的中继链token,所以需要在中级链通过xcmPallet.limitedReserveTransferAssets()向指定的平行链发送代币
下图例子
波卡NFT公链Unique Network赢得Polkadot第14次平行链插槽竞拍:4月13日消息,Polkadot网络第14次平行链插槽拍卖结束,波卡NFT公链Unique Network以锁定822,942 DOT赢得Polkadot第14次平行链插槽竞拍。[2022/4/13 14:22:50]
平行链代理账户,这是通过paraid生成的账户,他是确定的账户。
para-id=2115的平行链代理账户是:5Ec4AhNzgnZ7jXzsdUAEbGBWu2GNfwppYZdf6P1JqNq6BntW
OpenHRMP
开通HRMPchannel的步骤:
发送方平行链发送一个初始化开放通道请求。
接收方平行链接受请求。
两条链需要互相交替进行操作,因为hrmp是单向的,如果需要进行跨链资产转账就需要打开双向的hrmp通道。
下面通过链A为Sender,链B为Recipient,以打开链A->链B的Hrmpchannel为例
链ASender2008
1.在中继链构造hrmp.hrmpInitOpenChannel()的结构体,并获取encodedcalldata。
欧易OKEx支持Polkadot平行链插槽竞拍:据官方消息,11月3日,欧易OKEx宣布上线Polkadot平行链插槽竞拍通道。
11月3日-11日为Polkadot早鸟拍周期,用户可在欧易OKEx提前锁仓DOT,为喜欢的项目进行投票,此期间可以获得来自欧易OKEx和项目方的双重奖励。早鸟拍活动结束之后,欧易OKEx会遵循官方规则,将用户所投票的DOT如数上链。Polkadot正式拍将于11月11日启动。[2021/11/3 21:21:41]
这里有三个参数
Recipient接收者的ParaId
proposeMaxCapacity也是个限制的值
proposeMaxMessageSizexcm消息的大小限制
其中proposeMaxCapacityproposeMaxMessageSize的值不能设置的太大,必须要比中继链规定的最大配比要小,要不然会出错。通过中继链ChainState下的configuration.activeConfig()方法查找这项约束。
波卡平行链众筹模块发布代码库:3月16日,Parity核心开发者ShawnTabrizi在社群中表示,波卡平行链众筹模块发布代码库。[2021/3/16 18:49:03]
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已连接Plasm、Phala等8个平行链:波卡官推今日发布了Rococo技术更新。主要内容包括:1.Rococo V1分支已于1月27日更新,PoV现在已压缩,以适应更大的PoV区块大小;重用Wasmtime编译的代码,以避免每次执行平行链区块时重新编译该代码。2.在平行链上运行Rococo的最低要求:至少操作2个验证者节点和1个collator节点;在提交提案之前,在本地测试链配置。3.已连接8条平行链,分别是Tick、Trick、Track、Plasm Network、Acala Network、Kilt protocol、Phala Network和polkaBTC。正在调查一些平行链的缓慢生产时间。修复后,将继续添加更多的平行链。[2021/2/6 19:02:05]
-hex-call>为上面我们构造的encodecalldata:0x1700d907000008000000e21f0000
为我们当前平行链的paraid:2008
交易成功之后,会在中继链执行encodecalldata的函数。
Liam:目前的平行链还处于测试阶段,还要等待未来更多升级:9月3日消息,Stafi Cofounder?Liam在做客HyperPay焦点栏目时提及:波卡的中继链不但为接入其中的平行链提供了安全性,也保证了他们之间安全的信息传递。同时这些平行链可以同时工作,假如接入了10条平行链,那么这10条链可以同时工作互不影响,从而节省了计算时间。一些高度专业的平行链可以针对其专业领域有效实现数据存储和交易操作而不限定于区块链的脚本语言或虚拟机中。波卡平行链通过异步消息传递相互通信,仅仅在平心链相交的边界处支付手续费即可。目前的平行链还处于测试阶段,还需要等待未来的更多升级。[2020/9/3]
链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
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。