引言
本文首先介绍在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文件
矿企Marathon Digital股东对公司最高管理层提起诉讼:7月18日消息,比特币矿企Marathon Digital股东向美国内华达州地方法院提交了对公司最高管理层的诉讼,指控首席执行官Fred Thiel与其他九名高管一起违反了信托责任,不当得利和浪费公司资产。[2023/7/18 11:02:30]
这里修改为:2052
生成修改后的paraId的chainspec文件
生成wasm文件
生成genesisstate文件
Celsius自3月2日以来已处理约2120万美元的托管账户取款:金色财经报道,Celsius在推特上表示:“今天,Celsius向法院提供了我们对某些符合条件的用户和我们的挖矿业务的提款流程的简要更新。自3月2日为某些符合条件的托管账户用户重新开放取款以来,Celsius已处理了大约2120万美元的已完成和待处理取款。由于比特币价格上涨,我们也提高了毛利率,并自1月份以来增加了部署的矿机数量。今天,法院批准了我们的动议,将提交计划的专营权延长至3月底。我们将继续与所有利益相关者和NovaWulf密切合作,以完成我们计划的其余部分。”
今日早些时候消息,尽管此前NovaWulf已出价,Celsius仍对其他竞标持开放态度,法官Glenn同意给Celsius额外三周的时间来提交第11章计划。[2023/3/9 12:51:41]
启动本地collator节点
然后在打开本地的relaychain的polkadot-js的前端界面,注册parachain,上传Wasm和genesisstate参考:https://docs.substrate.io/tutorials/v3/cumulus/connect-parachain/
TwelveFold NFT最高出价超7 BTC:金色财经报道,Yuga Labs比特币NFT系列TwelveFold最高出价已超过7 BTC,达到7.1159 BTC,由bc1p7x04th开头的地址出价,按照当前价格计算约合16万美元。据悉,本次拍卖总共将拍卖288件铭文,并在拍卖结束时授予288名最高的中标者。截至目前,在前288个出价中均高于2 BTC,最低出价为2.2501 BTC,超过3 BTC的出价数量总计25个。据悉,本次拍卖于北京时间2023年3月7日7:00之前结束。[2023/3/7 12:46:16]
Rococolivetestnetwork中测试parachain
比如,上面我们已经注册了parachain2052,那么我们就可以在rococo公开测试网上测试我们的Parachain了。
步骤:
1.在?rococopublictestnetwork?注册一个paraId
2.通过这个ParaId以及之前我们本地生成的genesisstate和wasm文件来注册parathread
数据:蜻蜓资本已持有代币TON:2月9日消息,据链上数据显示,标记为“蜻蜓资本”钱包地址已持有代币TON,目前持有4,847,919.825枚TON。[2023/2/9 11:57:16]
3.当注册成为一个parathread后,我们可以看到parathread处于onboarding状态。此时,我们就可以申请成为平行链了,可以联系Parity官方的人进行操作,在element频道
4.如果官方的人将Parathread升级为parachain后,我们就可以开始本地启动平行链进行测试,是否能链接到rococolive且正常出块。
首先,启动Live模式的parachain,这里有两种方式:
第一种:修改parachain链的chainspec文件,以命令行的方式进行指定Live启动
第二种:通过json文件的形式,由于我们之前已经在本地生成了rococo-local-parachain-2052-raw.json?这个文件,我们只需要修改其中的一些参数
以太坊域名服务 ENS 已在 Goerli 测试网部署 NameWrapper:9月20日消息,以太坊域名服务(ENS)开发者 jefflau.eth 表示,现已将新的 ENS 合约套件部署到 Goerli 测试网络,这是 ENS 协议最终向主网发布新合约套件的重要一步,已部署的新合约有 NameWrapper、新的 .eth 注册控制器、新的反向注册登记、新的公共解析器、指数价格曲线 Oracle 以及静态元数据服务。不过,当前新合约尚未连接到 ENS V2 应用,因此用户在很大程度上可能无法使用 UI 与这些合约进行交互。
ENS NameWrapper 允许将 ENS 域名包装为 ERC-1155 NFT,一个父域名能够为其子域设置更多的权限。[2022/9/21 7:09:30]
主要修改字段为:
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同步即可
来源:金色财经
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。