平行链上线技术系列三:Rococo local and public test network_AIN:CHA

引言

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

Rococolocaltestnetwork中测试parachain

StartRelaychain(LocalRococorelaychain)

准备?rococo-local-cfde.json

以下命令是在?polkadot?目录下操作的,这里切换分支到v0.9.16,然后编译cargobuild--release

编译完成后,在polkadot目录下执行:

启动parachain

生成parachain的chainspec

如果需要修改paraId,可以修改rococo-local-parachain-plain.json文件

ZT创新板即将上线DID:据官网公告,ZT创新板即将上线DID,已经开启DID充值,并于5月13日18:00开启DID/USDT交易对。

DID为打造去中心化加密支付银行,打造轻量、开放,自由的金融世界,基于程序化筛选自动高收益并提供市场最新最优收益策略表。

ZT数字资产交易平台是一家全球性的数字资产交易服务商,致力于为全球用户打造创新型热门数字资产首发地。[2021/5/12 21:54:17]

这里修改为:2052

生成修改后的paraId的chainspec文件

生成wasm文件

生成genesisstate文件

启动本地collator节点

然后在打开本地的relaychain的polkadot-js的前端界面,注册parachain,上传Wasm和genesisstate参考:https://docs.substrate.io/tutorials/v3/cumulus/connect-parachain/

ZT创新板即将上线KBT:据官网公告,ZT创新板即将上线KBT,已经开放充值服务;并于4月16日14:00开启KBT/USDT交易对。

KorBit300(KBT)是基于以太坊(Ethereum)开发的去中心化数字资产;同时KBT也是Korbit300登陆中国社区的权益证明。KBT在用户掌控数据方面创造了新的经济模式,企业能够在无信任和分布式IT生态系统上共享数据及构建创新的应用程序和服务。

ZT数字资产交易平台是一家全球性的数字资产交易服务商,致力于为全球用户打造创新型热门数字资产首发地。[2021/4/13 20:13:41]

Rococolivetestnetwork中测试parachain

比如,上面我们已经注册了parachain2052,那么我们就可以在rococo公开测试网上测试我们的Parachain了。

Coinhub报名竞选ZT智能链超级节点 ?:据官方消息,ZT已推出基于ZT平台积分ZTB为底层生态资产的去中心化高性能交易公链Zenith smart chain(简称ZSC),同时于2021年2月9日-3月9日23:59(UTC+8)启动ZSC智能链超级节点竞选报名活动。Coinhub成功报名竞选,且锁仓数十万枚ZTB。

据悉,此次竞选活动吸引了包括Coinhub在内的圈内众多区块链钱包、优秀社区和资本孵化机构青睐。

据了解,Coinhub是专注多链生态,为用户提供数字资产管理工具的新一代钱包。

ZSC致力打造出涵盖 DEX、预言机、衍生品、智能合约保险、抵押借贷、跨链资产交易等为一体的去中心化金融平台。[2021/3/9 18:29:38]

步骤:

1.在?rococopublictestnetwork?注册一个paraId

波卡周报:Polkadot 0.9.2已发布 等待平行链Shell升级为Statemine:据波卡周报,Polkadot 0.9.2 已发布,等待平行链Shell升级为Statemine。1.Polkadot 国库今天刚刚销毁掉了147,042个DOT,目前还有1461万个DOT等待大家去申请。2.Shell 平行链正在 Kusama 网络上运行。3.Kusama 第 108 号公投(强制恢复一个账户)没有被通过。4.Encounter 是一个独特的身份系统,正在申请成为 Kusama 的公益链。5.Kusama 理事会已经通过并执行了 Motion 295,它消除了由于 CPU 峰值导致不允许在 9010 Runtime 升级期间发送 imOnline 消息而导致的 115 个验证器的 slash 惩罚。6.Kusama 理事正投票 297 motion,以资助将 Kusama 集成到 Klever 钱包中。7.Kusama 国库目前有 345,211 KSM,有 690.42 KSM 会在一天后销毁掉。[2021/5/23 22:35:12]

2.通过这个ParaId以及之前我们本地生成的genesisstate和wasm文件来注册parathread

现场 | Parity CTO Fredrik Harrysson:平行链很快会启动:金色财经报道,由Web3基金会主办的Web3大会10月30日在上海举行。Parity首席技术官Fredrik Harrysson在会上透露,波卡平行链很快会启动,目前在Rococo测试,Rococo是专为平行链建立的无激励的测试网。Fredrik Harrysson还介绍了substrate。他表示,在开发substrate之前接触了很多企业了解它们需求,其中之一是链下工作机制,链下工作机制让区块链可以触达环境信息。同时企业不希望把所有信息公开例如web请求等,平行链满足它们需求,而且还可以共享安全性。Parity首席执行官Jutta Steiner在会上还介绍了Parity布局,Parity有生态发展部门、孵化器、专门负责DeFi的小组。[2020/10/30]

3.当注册成为一个parathread后,我们可以看到parathread处于onboarding状态。此时,我们就可以申请成为平行链了,可以联系Parity官方的人进行操作,在element频道

4.如果官方的人将Parathread升级为parachain后,我们就可以开始本地启动平行链进行测试,是否能链接到rococolive且正常出块。

首先,启动Live模式的parachain,这里有两种方式:

第一种:修改parachain链的chainspec文件,以命令行的方式进行指定Live启动

第二种:通过json文件的形式,由于我们之前已经在本地生成了rococo-local-parachain-2052-raw.json?这个文件,我们只需要修改其中的一些参数

主要修改字段为:

chainType:需要将Local修改为Live,

relay_chain:修改为rococo

para_id:需要与我们在rococolive上注册的parachainId保持一致

其他的字段看自己需要进行修改,也可不修改

这里值得一提的就是bootNodes字段,这个字段在自己首次本地启动的时候无需进行配置,但是如果你的平行链已经上线并且需要给其他用户加入的话,这里就需要进行配置引导节点。

获取当前需要连接的rococolive的chainspec文件

笔者此时的rococolive的runtime版本为polkadot-v0.9.16,所以我们从polkadot上获取到rococo的chainspec文件,放在我们的parachain目录下

注意,我们的parachainlive的runtime版本必须要和当前rococolive的版本一致

一切准备就绪后,我们就可以启动我们本地的平行链,准备连接到rococolive进行parachain出块测试了

注意,下面的basepath我们需要预留至少12G的空间(以当前时间为2022-02-20来计算的话),否则空间不够拉取rococo的区块

在启动上述命令后,我们可以看到Log里会同步rococo的区块,整个过程大概耗时2小时左右,等待全部同步完毕后,我们的Parachain就会正常出块了~。

查看rococotestnetwork可以看到:

打开本地8844端口可以看到parachain已经可以正常出块了,这里我已经出到204个块.....

至此,rococolive测试结束~

Rococolive部署注意事项:

1.如果出现以下问题:

这种是由于使用的rococolive的json文件和当前rococolive版本不一致导致的,比如使用的是polkadot-0.9.13的live文件,然而当前rococolive版本为polkadot-v0.9.16

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

这里是由于我们liveParachain的版本和rococlive不一致

3.在将pallet版本从polkadot-v0.9.13升级到polkadot-v0.9.16时,出现一些pallet宏功能无法使用问题

palletStruct的宏问题

当前polkadot-v0.9.16版本中,Pallet结构体上需要加上#

palletstorage问题

当前polkadot-v0.9.16版本中,我们在使用StorageMap这个存储结构的时候,如果我们的存储结构中涉及到AccountId需要使用OptionQuery的方式,而非之前的ValueQuery,因为在官方移除了对于AccountId的default处理,所以我们就需要使用Option的方式处理空值None。对应的咱们的pallet就需要进行重构,并对None进行处理,杜绝Runtime出现这种异常。

4.在同步rococolive的区块时,出现以下错误,并且可以看到一直拉取不到最新的区块

这里是由于本地机器时间不同步,使用ntp同步即可

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:0ms0-4:906ms