波卡如何通过 Runtime 升级改变链的逻辑?|Polkadot Wiki

2023-01-13 18:37:00 来源:程序员客栈

加入 PolkaWorld 社区,共建 Web 3.0!


(资料图)

Runtime 升级让波卡能够改变链的逻辑,而不需要硬分叉。本文译自波卡官方文档 Polkadot Wiki 的「Runtime 升级」章节。

无分叉升级

你之前可能在区块链领域遇到过 “硬分叉” 一词。当区块链的逻辑发生变化时,就会发生硬分叉,以至于不包含新改变化的节点将无法与包含新变化的节点保持一致。此类更改是向后不兼容的。硬分叉可能具有政治性,取决于升级的性质。并且硬分叉在逻辑上很繁琐,这主要取决于网络中需要升级其软件的节点数量(可能有数千个)。

波卡节点没有在节点中编码 runtime(链的 “业务逻辑”),而是包含了 WebAssembly 执行主机。它们根据很底层和很完善的指令集保持共识。波卡 runtime 存储在波卡区块链本身。

因此,波卡可以通过升级存储在链上的逻辑来升级其 runtime,并消除了需要数千个节点运营商提前升级给定区块编号的协作挑战。波卡利益相关者通过链上治理系统提出并批准升级,该系统也会自主执行升级。

新客户端发布

遵循现有的 runtime 逻辑,将存储在区块链上的 Wasm runtime 更新为新版本。升级会在稍后被包含在区块链本身中,这意味着网络上的所有节点都会执行它。通常,无需在 runtime 升级之前手动升级你的节点,因为它们会自动开始遵循链的新逻辑。仅当 runtime 需要新的 host 函数或网络/共识发生变化时,才需要更新节点。

为给定 runtime 版本构建的交易将不适用于更高版本。因此,基于某个 runtime 版本构建的交易在以后的 runtime 版本中将无效。如果你认为你不能在升级前提交交易,最好等到升级发生后再构建它。

虽然升级你的节点通常不需要跟随升级进行,但我们建议跟随波卡版本并及时升级,特别是对于高优先级或关键版本。

不同用户的 runtime 升级对于基础设施提供商

基础设施服务包括但不限于以下内容:

验证者接口服务节点即服务 (NaaS)一般基础设施管理(例如区块浏览器、保管人)钱包

对于验证者来说,与网络保持同步是关键。有时,升级将要求验证者在特定时间范围内升级其客户端,例如一项发布包括对网络的重大更改。必须检查发行说明,从升级优先级开始并采取相应措施。

通用基础设施提供商除了及时关注波卡的发布和升级外,还应监控 runtime 事件和辅助工具(例如 Substrate API Sidecar)的变化。

为第 n版 runtime 构造的交易将不适用于任何其他 >n版 runtime 交易。如果一项 runtime 升级发生在广播先前构建的交易之前,你将需要使用适当的 runtime 版本和相应的元数据来重建它。

对于提名人

Runtime 升级不需要提名人采取任何行动,但我们始终鼓励大家了解最新情况,并参与最新的 runtime 升级 motion 和发布,同时密切关注网络中的节点如何应对新的升级。

监控变化

你可以对链进行监控以了解即将进行的升级。客户端发行说明包括与任何链上升级相关的任何提案的哈希值,以便于匹配。监控链的:

democracy(Started)事件和日志index和blockNumber。此事件表明公投已经开始(尽管并不意味着它是 runtime 升级)。获取公投信息(例如通过 Sidecar 上的 pallets/democracy/storage/ReferendumInfoOf?key1=index&at=blockNumber),它的状态应该是 Ongoing。找到结束块号 (end) 和执行延迟(delay)。如果公投通过,它将在 end + delay块号执行。

democracy(Passed)、democracy(NotPassed)或 democracy(Cancelled)事件引用索引。如果是Passed,则需要在执行块的同一区块中查看scheduler(Scheduled)事件。

democracy(PreimageNoted)事件与ReferendumInfoOf(index)项目具有相同的哈希值。这可能是执行前的最后一个区块,但如果缺少它,它将不起作用。

democracy(Executed)实际执行的事件。在 runtime 升级的情况下,还会有一个 system(CodeUpdated)事件。

你还可以监控 Polkassembly,以了解有关链上提案和公投的讨论。

原文:https://wiki.polkadot.network/docs/learn-runtime-upgrades

翻译:PolkaWorld

直播预告

1 月 12 日(本周四)晚 7 点,PolkaWorld 联合发起人晓杰将会在波卡世界直播间举办社区问答 AMA,为大家解答关于波卡的疑问。点击下方按钮预约直播。

PolkaWorld Telegram 群:

t.me/polkaworld

PolkaWorld Youtube 频道:

https://www.youtube.com/c/PolkaWorld

PolkaWorld Twitter:

@polkaworld_org

更多内容

波卡周报|多个生态项目回顾 2022 重要里程碑!Gavin 分享 2023 波卡开发重点!

Dante:跨生态互操作谈了那么久,什么时候能实现?

Gavin Wood:波卡 2023 年计划

关注 PolkaWorld

发现Web 3.0 时代新机遇

点个 “在看” 再走吧!

x 广告
x 广告

Copyright ©  2015-2022 南方公益网版权所有  备案号:粤ICP备18023326号-21   联系邮箱:855 729 8@qq.com