波卡如何通过 Runtime 升级改变链的逻辑?|Polkadot Wiki
加入 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
更多内容
关注 PolkaWorld
发现 Web 3.0 时代新机遇
点个 “在看” 再走吧!