#run-time #version #substrate #polkadot #module #api #runtime-version

no-std sp-version

Version module for the Substrate runtime; Provides a function that returns the runtime version. (polkadot v1.15.0)

55 releases (35 major breaking)

37.0.0 Jul 18, 2024
36.0.0 Jun 21, 2024
35.0.0 May 23, 2024
34.0.0 Apr 30, 2024
2.0.0-alpha.5 Mar 24, 2020

#47 in #polkadot

Download history 4238/week @ 2024-08-03 5709/week @ 2024-08-10 5362/week @ 2024-08-17 5609/week @ 2024-08-24 3930/week @ 2024-08-31 4744/week @ 2024-09-07 16389/week @ 2024-09-14 31459/week @ 2024-09-21 31866/week @ 2024-09-28 33908/week @ 2024-10-05 34313/week @ 2024-10-12 39451/week @ 2024-10-19 31393/week @ 2024-10-26 41808/week @ 2024-11-02 51097/week @ 2024-11-09 55650/week @ 2024-11-16

186,316 downloads per month
Used in 632 crates (58 directly)

Apache-2.0

430KB
6.5K SLoC

Version module for the Substrate runtime; Provides a function that returns the runtime version.

License: Apache-2.0


lib.rs:

Substrate runtime version

Each runtime that should be executed by a Substrate based node needs to have a runtime version. The runtime version is defined by RuntimeVersion. The runtime version is used to distinguish different runtimes. The most important field is the spec_version. The spec_version should be increased in a runtime when a new runtime build includes breaking changes that would make other runtimes unable to import blocks built by this runtime or vice-versa, where the new runtime could not import blocks built by the old runtime. The runtime version also carries other version information about the runtime, see RuntimeVersion for more information on this.

Substrate will fetch the runtime version from a wasm blob by first checking the runtime_version link section or calling the Core::version runtime api. The link section can be generated in the runtime using the runtime_version attribute. The Core runtime api also needs to be implemented for the runtime using impl_runtime_apis!.

Dependencies

~16–29MB
~461K SLoC