6

每个 Substrate 运行时都有一个RuntimeVersion。此 RuntimeVersion 结构中的字段指示运行时的各个方面何时发生变化,并且每个字段都有其在这些文档中描述的语义。

我不确定它是什么authoring_version意思,什么时候应该改变。文档中的描述对我来说并不完全清楚

authoring_version: u32

authoring_version is the version of the authorship interface.
An authoring node will not attempt to author blocks unless this
is equal to its native runtime.

如果可能,请提供以下升级示例:

  • 两者spec_version都会authoring_version改变
  • spec_version会改变,但authoring_version不会
  • authoring_version会改变,但spec_version不会
4

1 回答 1

5

我将分享 Substrate 核心开发人员Bastian Köcher提供给我的答案:

没有太多的变化会导致authoring_version

例如,如果您以BlockBuilder非向后兼容的方式更改运行时 api,则需要修改authoring_version

由于验证者将无法在不更新节点实现的情况下构建新块

而且,如果您只是更改运行时 api,使其与以前的不兼容,同时不更改运行时中任何会导致不同存储根的内部结构,那么您只会碰到authoring_version. 但是,我希望这在现实中可能永远不会发生

于 2020-11-16T17:12:16.857 回答