本文主要介绍的是人民链如何部署,涉及创建、自由存款和身份迁移三个步骤。
正如RFC-32(详情请参见:
https://github.com/polkadot-fellows/RFCs/blob/34d26ff1aa343b0cc980afbf2f40c1d5b6a781ea/text/0032-minimal-relay.md)所述,我们正在努力将身份托盘及其功能从中继链迁移到系统平行链中。这将是第一次从中继链中迁移功能,而不是简单地引入。
在Rococo和Westend成功测试之后(Rococo发现了一个小错误,Westend则按预期运行),我们已经准备好在生产网络上部署这个“人民链”。
一切都将首先在Kusama上进行,迁移成功后将在Polkadot上进行。这一迁移对用户界面开发人员尤为重要,因为他们需要从新的位置获取身份信息。这一改变也会使押金减少100倍,从而使用户更容易使用身份系统。
在撰写本文时,Fellowship维护的Kusama和Polkadot运行时基于Polkadot SDK v1.3.0。他们需要使用v1.7.0才能进行迁移,因此这将是一切准备就绪的信号。
一旦就位,我们可以做两件事:阻止中继链中的身份托盘调用;创建人民链运行时。
一旦中继链升级(我们姑且称之为v1.X.0),我们将对所有现有的身份状态(如账户身份、子账户和注册商)进行快照。这将形成平行链的创世状态。
随着中继链的升级和创世状态的建立,我们可以提议实际注册“人民链”。由于我们需要释放中继链上的所有存款,并在平行链上进行更新(在创世状态下,平行链上没有余额),因此这还不能在注册后立即使用。
这需要对中继链进行补丁更新(我们称之为中继v1.X.1[3]),允许任何账户调用专门用于身份迁移的特殊外部函数。您可以在Westend上看到示例。
此外部功能将释放中继链上的身份押金,计算人民链上所需的押金(同样,约低100倍),传送平行链押金,并添加人民链在此预留押金的指令。
也就是说,在中继链上预留了20DOT的用户最终将在中继链上拥有大约19.8DOT的可用余额,而在保留身份信息和子账户的情况下,在人民链上预留0.2DOT。
中继链和人民链上的这一过程将分别发生
identityMigrator.identityReaped和
identityMigrator.depositUpdated事件:
最后,身份状态将脱离中继链:
为了尽量减少停机时间,我建议将补丁升级的颁布时间设定在平行链上线几天之后,这样用户就不需要等待全新的公投通过。
一旦所有“身份”都完成迁移(由于是无权限迁移,我预计迁移时间不会超过一天),那么“人民”链也可以升级(同样是“人民”V1.X.1[3])。此次升级将允许所有人重新开始使用身份托盘功能。
与中继链升级一样,该补丁升级也可以安排在中继链补丁升级几天后进行。
[1]您已经可以在Rococo和Westend上开始使用。
[2]本PR中有一个升级脚本,请注意它还会为那些设置了github和discord字段的用户迁移额外的数据。
[3]您可以在Westend的PR中看到这些“v1.X.1”改动。
想参与到本文的讨论,欢迎到论坛中发表自己的意见:
https://forum.polkadot.network/t/people-chain-launch-and-identity-migration-plan/5930
关于如何参与到论坛的讨论中,请参看我们推出的波卡论坛使用指南:
《如何参与波卡的讨论:波卡官方论坛使用指南》