RuntimeVersion class
Runtime version.
This should not be thought of as classic Semver (major/minor/tiny).
This triplet have different semantics and mis-interpretation could cause problems.
In particular: bug fixes should result in an increment of spec_version
and possibly
authoring_version
, absolutely not impl_version
since they change the semantics of the
runtime.
Constructors
-
RuntimeVersion({required String specName, required String implName, required int authoringVersion, required int specVersion, required int implVersion, required List<
ApiVersion> apis, required int transactionVersion, required int stateVersion}) -
const
- RuntimeVersion.decode(Input input)
-
factory
-
RuntimeVersion.fromJson(Map<
String, dynamic> json) -
factory
Properties
-
apis
→ List<
ApiVersion> -
List of supported API "features" along with their versions.
final
-
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.final - hashCode → int
-
The hash code for this object.
no setteroverride
- implName → String
-
Name of the implementation of the spec. This is of little consequence for the node
and serves only to differentiate code of different implementation teams. For this
codebase, it will be parity-polkadot. If there were a non-Rust implementation of the
Polkadot runtime (e.g. C++), then it would identify itself with an accordingly different
impl_name
.final - implVersion → int
-
Version of the implementation of the specification. Nodes are free to ignore this; it
serves only as an indication that the code is different; as long as the other two versions
are the same then while the actual code may be different, it is nonetheless required to
do the same thing.
Non-consensus-breaking optimizations are about the only changes that could be made which
would result in only the
impl_version
changing.final - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- specName → String
-
Identifies the different Substrate runtimes. There'll be at least polkadot and node.
A different on-chain spec_name to that of the native runtime would normally result
in node not attempting to sync or author blocks.
final
- specVersion → int
-
Version of the runtime specification. A full-node will not attempt to use its native
runtime in substitute for the on-chain Wasm runtime unless all of
spec_name
,spec_version
andauthoring_version
are the same between Wasm and native.final - stateVersion → int
-
Version of the state implementation used by this runtime.
Use of an incorrect version is consensus breaking.
final
- transactionVersion → int
-
All existing dispatches are fully compatible when this number doesn't change. If this
number changes, then
spec_version
must change, also.final
Methods
-
encode(
) → Uint8List -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toJson(
) → Map< String, dynamic> -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
override
Constants
-
codec
→ const Codec<
RuntimeVersion>