平行链上线技能系列三:Rococo local and public test network | BTC
上海醍恩酒业有限公司 首页 会员中心 订货商城 酒品公示 新闻资讯
  • 首页
  • 会员中心
  • 订货商城
  • 酒品公示
  • 新闻资讯
  • 平行链上线技能系列三:Rococo local and public test network | BTC
    发布日期:2022-10-16 23:55    点击次数:60
    引言

    本文首先介绍在Rococo外埠的测试流程,最后介绍 rococo 线上测试 parachain 的流程

    Rococo local test network 中测试 parachain

    Start Relaychain(Local Rococo relaychain)

    操办 rococo-local-cfde.json

    下列敕令是在 polkadot 目录下操作的,这里切换分支到 v0.9.16,尔后编译 cargo build --release

    编译实现后,在polkadot目录下执行:

    启动parachain生成parachain的 chain spec

    假定必要编削paraId,可以或许编削rococo-local-parachain-plain.json文件

    这里编削为: 2052

    生成编削后的paraId的chainspec文件生成wasm文件生成genesis state文件启动外埠collator节点

    尔后在关上外埠的relaychain的polkadot-js的前端界面,注册parachain,上传Wasm和genesis state 参考:https://docs.substrate.io/tutorials/v3/cumulus/connect-parachain/

    Rococo live test network 中测试 parachain

    比喻,上面咱们已经注册了parachain 2052,那末咱们就能在rococo果真测试网上测试咱们的Parachain了。

    步伐:

    1. 在 rococo public test network 注册一个paraId

    2. 经由过程这个ParaId(这里抉择自身已经注册的一个Id,我这里选自身注册的2052)以及从前咱们外埠生成的genesis state和wasm文件来注册parathread

    3. 当注册成为一个parathread后,咱们可以或许看到parathread处于onboarding形态。此时,咱们就能请求成为平行链了,可以或许联络Parity平易近间的人举行操作,在element频道

    4. 假定平易近间的人将Parathread降级为parachain后,咱们就能起头外埠启动平行链举行测试,是否能链接到rococo live且畸形出块。

    (1)首先,启动Live情势的parachain,这里有两种要领:

    第一种:编削parachain链的chainspec文件,以敕令行的要领举行指定Live启动

    第二种:经由过程json文件的情势,因为咱们从前已经在外埠生成了rococo-local-parachain-2052-raw.json 这个文件,咱们只有要编削个中的一些参数(而今良多名目方运用较为宽泛的要领,并且操作俭朴)

    次要编削字段为:

    chainType:必要将Local编削为Live,relay_chain:编削为rococopara_id:必要与咱们在rococo live上注册的parachainId对立分歧

    别的的字段看自身必要举行编削,也可不编削

    这里值得一提的就是bootNodes字段,这个字段在自身初度外埠启动的时光无需举行设置,然则假定你的平行链已经上线并且必要给别的用户插手的话,这里就必要举行设置蛊惑节点。

    (2)取得今后必要跟尾的rococo live的chain spec文件

    笔者此时的rococo live的runtime版本为polkadot-v0.9.16,所以咱们从polkadot上获失去rococo的chain spec文件 ,放在咱们的parachain目录下

    留心,咱们的parachain live的runtime版本必需要和今后rococo live的版天职歧

    (3)通通操办就绪后(操办好parachain live的chain spec文件和rococo live 的chain spec文件),咱们就能启动咱们外埠的平行链,操办跟尾到rococo live举行parachain出块测试了

    留心,上面的base path咱们必要预留起码12G的空间(以今后时光为2022-02-20来计算的话),否则空间不敷拉取rococo的区块

    在启动上述敕令后,咱们可以或许看到Log里会同步rococo的区块,全副进程可能耗时2小时阁下,等待全副同步终了后,咱们的Parachain就会畸形出块了~。

    查察rococo test network可以或许看到:

    关上外埠8844端口可以或许看到parachain已经可以或许畸形出块了,这里我已经出到204个块.....

    至此,rococo live测试终止~

    Rococo live 陈列留心事故:

    1. 假定出现下列成就:

    这类是因为运用的rococo live的json文件和今后rococo live版本不一致导致的,比喻运用的是polkadot-0.9.13的live文件,然而今后rococo live版本为polkadot-v0.9.16

    2. 同步中继链区块舛误:

    这里是因为咱们live Parachain的版本和rococ live不一致

    3. 在将pallet版本从polkadot-v0.9.13降级到polkadot-v0.9.16时,出现一些pallet宏功用没法运用成就

    (1)pallet Struct的宏成就

    今后polkadot-v0.9.16版本中,Pallet组织体上必要加之#[pallet::without_storage_info]

    (2)pallet storage成就

    今后polkadot-v0.9.16版本中,咱们在运用StorageMap这个存储组织的时光,假定咱们的存储组织中奔忙及到AccountId必要运用OptionQuery的要领,而非从前的ValueQuery,因为在平易近间移除了关于AccountId的default处理惩罚,所以咱们就必要运用Option的要领处理惩罚空值None。对应的咱们的pallet就必要举行重构,并对None举行处理惩罚,杜绝Runtime出现这类很是。

    4. 在同步rococo live的区块时,出现下列舛误,并且可以或许看到一贯拉取不到最新的区块(外埠同步的区块一直低于最新区块高度)

    这里是因为外埠古板时光差别步,运用ntp同步即可



    上一篇:美联储买垃圾债利好黄金 金价存上涨空间
    下一篇:英国《自然》周刊2021年自然科学规模十君子物:张荣桥