I want to try "Runtime Upgrade" and "Storage Migration". I tried by steps as following,but "on_runtime_upgrade" function did not work. Unable to verify that the "on_runtime_upgrade" function is called. The implemented debug log is not output.
- Download "substrate-node-template 3.0".
- Compile it.
- I ran the node with the following command. "target/release/node-template --dev -l runtime = debug".
- Implement "on_runtime_upgrade" in "palet-template".The program I tried "substrate-node-template/pallets/template/lib.rs" is listed below.
- Compile it by "cargo build --release -p node-template-runtime" command.
- Upload "node_template_runtime.compact.wasm" by using "sudo" & "setcode" command.
- I checked the execution log of the node, but I couldn't check the log set to "on_runtime_upgrade".
--lib.rs--
#![cfg_attr(not(feature = "std"), no_std)]
/// Edit this file to define custom logic or remove it if it is not needed.
/// Learn more about FRAME and the core library of Substrate FRAME pallets:
/// https://substrate.dev/docs/en/knowledgebase/runtime/frame
use frame_support::{decl_module, decl_storage, decl_event, decl_error, dispatch, traits::Get, debug, weights::Weight};
use frame_system::ensure_signed;
#[cfg(test)]
mod mock;
#[cfg(test)]
mod tests;
/// Configure the pallet by specifying the parameters and types on which it depends.
pub trait Config: frame_system::Config {
/// Because this pallet emits events, it depends on the runtime's definition of an event.
type Event: From<Event<Self>> + Into<<Self as frame_system::Config>::Event>;
}
// The pallet's runtime storage items.
// https://substrate.dev/docs/en/knowledgebase/runtime/storage
decl_storage! {
// A unique name is used to ensure that the pallet's storage items are isolated.
// This name may be updated, but each pallet in the runtime must use a unique name.
// ---------------------------------vvvvvvvvvvvvvv
trait Store for Module<T: Config> as TemplateModule {
// Learn more about declaring storage items:
// https://substrate.dev/docs/en/knowledgebase/runtime/storage#declaring-storage-items
Something get(fn something): Option<u32>;
}
}
// Pallets use events to inform users when important changes are made.
// https://substrate.dev/docs/en/knowledgebase/runtime/events
decl_event!(
pub enum Event<T> where AccountId = <T as frame_system::Config>::AccountId {
/// Event documentation should end with an array that provides descriptive names for event
/// parameters. [something, who]
SomethingStored(u32, AccountId),
}
);
// Errors inform users that something went wrong.
decl_error! {
pub enum Error for Module<T: Config> {
/// Error names should be descriptive.
NoneValue,
/// Errors should have helpful documentation associated with them.
StorageOverflow,
}
}
// Dispatchable functions allows users to interact with the pallet and invoke state changes.
// These functions materialize as "extrinsics", which are often compared to transactions.
// Dispatchable functions must be annotated with a weight and must return a DispatchResult.
decl_module! {
pub struct Module<T: Config> for enum Call where origin: T::Origin {
// Errors must be initialized if they are used by the pallet.
type Error = Error<T>;
// Events must be initialized if they are used by the pallet.
fn deposit_event() = default;
/// An example dispatchable that takes a singles value as a parameter, writes the value to
/// storage and emits an event. This function must be dispatched by a signed extrinsic.
#[weight = 10_000 + T::DbWeight::get().writes(1)]
pub fn do_something(origin, something: u32) -> dispatch::DispatchResult {
// Check that the extrinsic was signed and get the signer.
// This function will return an error if the extrinsic is not signed.
// https://substrate.dev/docs/en/knowledgebase/runtime/origin
let who = ensure_signed(origin)?;
// Update storage.
Something::put(something);
// Emit an event.
Self::deposit_event(RawEvent::SomethingStored(something, who));
// Return a successful DispatchResult
Ok(())
}
/// An example dispatchable that may throw a custom error.
#[weight = 10_000 + T::DbWeight::get().reads_writes(1,1)]
pub fn cause_error(origin) -> dispatch::DispatchResult {
let _who = ensure_signed(origin)?;
// Read a value from storage.
match Something::get() {
// Return an error if the value has not been set.
None => Err(Error::<T>::NoneValue)?,
Some(old) => {
// Increment the value read from storage; will error in the event of overflow.
let new = old.checked_add(1).ok_or(Error::<T>::StorageOverflow)?;
// Update the value in storage with the incremented result.
Something::put(new);
Ok(())
},
}
}
fn on_runtime_upgrade() -> Weight {
debug::info!("############################ storage poorly updated");
0
}
}
}
--terminal log--
shin.takahashi@shintakahashinoMacBook-Pro substrate-node-template % ./target/release/node-template --dev -lruntime=debug
2021-04-03 07:33:03.580 WARN main sc_cli::commands::run_cmd: Running in --dev mode, RPC CORS has been disabled.
2021-04-03 07:33:03.580 INFO main sc_cli::runner: Substrate Node
2021-04-03 07:33:03.580 INFO main sc_cli::runner: ✌️ version 3.0.0-8370ddd-x86_64-macos
2021-04-03 07:33:03.580 INFO main sc_cli::runner: ❤️ by Substrate DevHub <https://github.com/substrate-developer-hub>, 2017-2021
2021-04-03 07:33:03.580 INFO main sc_cli::runner: ???? Chain specification: Development
2021-04-03 07:33:03.580 INFO main sc_cli::runner: ???? Node name: zonked-woman-7834
2021-04-03 07:33:03.580 INFO main sc_cli::runner: ???? Role: AUTHORITY
2021-04-03 07:33:03.580 INFO main sc_cli::runner: ???? Database: RocksDb at /Users/shin.takahashi/Library/Application Support/node-template/chains/dev/db
2021-04-03 07:33:03.580 INFO main sc_cli::runner: ⛓ Native runtime: node-template-100 (node-template-1.tx1.au1)
2021-04-03 07:33:03.727 INFO main sc_service::client::client: ???? Initializing Genesis block/state (state: 0x8d93…a7e0, header-hash: 0xa18d…9547)
2021-04-03 07:33:03.728 INFO main afg: ???? Loading GRANDPA authority set from genesis on what appears to be first startup.
2021-04-03 07:33:03.748 INFO main sc_consensus_slots: ⏱ Loaded block-time = 6000 milliseconds from genesis on first-launch
2021-04-03 07:33:03.748 WARN main sc_service::config: Using default protocol ID "sup" because none is configured in the chain specs
2021-04-03 07:33:03.749 INFO main sub-libp2p: ???? Local node identity is: 12D3KooWGF1RF4K4gsNzRL7ssKUKSRLceWQcUr75pJrue7Tge4Cq
2021-04-03 07:33:04.232 INFO main sc_service::builder: ???? Highest known block at #0
2021-04-03 07:33:04.233 INFO tokio-runtime-worker substrate_prometheus_endpoint::known_os: 〽️ Prometheus server started at 127.0.0.1:9615
2021-04-03 07:33:04.234 INFO main parity_ws: Listening for new connections on 127.0.0.1:9944.
2021-04-03 07:33:04.929 INFO ThreadId(33) parity_ws::io: Accepted a new tcp connection from 127.0.0.1:56641.
2021-04-03 07:33:06.005 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Starting consensus session on top of parent 0xa18d299078fee1c04c0b3aabecbb794b3da3bcc23c6e6b079581d7480f689547
2021-04-03 07:33:06.014 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Prepared block for proposing at 1 [hash: 0xc9f4b73282f6c0accf43277cc449eee7d9f34ca686fbc55b5afa5b35a406008f; parent_hash: 0xa18d…9547; extrinsics (1): [0x54ea…9482]]
2021-04-03 07:33:06.018 INFO tokio-runtime-worker sc_consensus_slots: ???? Pre-sealed block for proposal at 1. Hash now 0x4f0af9928094bb7251ed78c8b2ca2b08e62886552e6b9ecf00e9818ec6c74e0f, previously 0xc9f4b73282f6c0accf43277cc449eee7d9f34ca686fbc55b5afa5b35a406008f.
2021-04-03 07:33:06.018 INFO tokio-runtime-worker substrate: ✨ Imported #1 (0x4f0a…4e0f)
2021-04-03 07:33:06.018 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Starting consensus session on top of parent 0x4f0af9928094bb7251ed78c8b2ca2b08e62886552e6b9ecf00e9818ec6c74e0f
2021-04-03 07:33:06.019 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Prepared block for proposing at 2 [hash: 0xc6216cda459dfebab7edd82666aa5217611a6777f00b4484e24380385436f500; parent_hash: 0x4f0a…4e0f; extrinsics (1): [0x9a3a…dd4c]]
2021-04-03 07:33:06.023 INFO tokio-runtime-worker sc_consensus_slots: ???? Pre-sealed block for proposal at 2. Hash now 0x15a92eafa1aa165596509425006ef312c6a2197ed7043ce3dbc4c9424ee9e266, previously 0xc6216cda459dfebab7edd82666aa5217611a6777f00b4484e24380385436f500.
2021-04-03 07:33:06.023 INFO tokio-runtime-worker substrate: ✨ Imported #2 (0x15a9…e266)
2021-04-03 07:33:06.614 INFO ThreadId(33) parity_ws::io: Accepted a new tcp connection from 127.0.0.1:56642.
2021-04-03 07:33:09.235 INFO tokio-runtime-worker substrate: ???? Idle (0 peers), best: #2 (0x15a9…e266), finalized #0 (0xa18d…9547), ⬇ 0 ⬆ 0
2021-04-03 07:33:12.004 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Starting consensus session on top of parent 0x15a92eafa1aa165596509425006ef312c6a2197ed7043ce3dbc4c9424ee9e266
2021-04-03 07:33:12.006 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Prepared block for proposing at 3 [hash: 0xa69e3a90af4cc5c4a18a470867e9322cc2d4849d80ec1889498356430a9f2c41; parent_hash: 0x15a9…e266; extrinsics (1): [0xec69…7d0d]]
2021-04-03 07:33:12.012 INFO tokio-runtime-worker sc_consensus_slots: ???? Pre-sealed block for proposal at 3. Hash now 0x83078c6578a357b330148c38375c8bc33262d1cd7caa07f76e5017ee8709c1d5, previously 0xa69e3a90af4cc5c4a18a470867e9322cc2d4849d80ec1889498356430a9f2c41.
2021-04-03 07:33:12.013 INFO tokio-runtime-worker substrate: ✨ Imported #3 (0x8307…c1d5)
2021-04-03 07:33:14.236 INFO tokio-runtime-worker substrate: ???? Idle (0 peers), best: #3 (0x8307…c1d5), finalized #1 (0x4f0a…4e0f), ⬇ 0 ⬆ 0
2021-04-03 07:33:18.000 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Starting consensus session on top of parent 0x83078c6578a357b330148c38375c8bc33262d1cd7caa07f76e5017ee8709c1d5
2021-04-03 07:33:18.000 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Prepared block for proposing at 4 [hash: 0x9c2b02c4c3add90a9e71e16ff430895d9ddd99d4b1f661fd7dc85af57affff28; parent_hash: 0x8307…c1d5; extrinsics (1): [0x85e6…60ef]]
2021-04-03 07:33:18.003 INFO tokio-runtime-worker sc_consensus_slots: ???? Pre-sealed block for proposal at 4. Hash now 0x013cfa6a5df24a042232563affcc3fa3b9c8ac4c34a165e92d2399572d31659c, previously 0x9c2b02c4c3add90a9e71e16ff430895d9ddd99d4b1f661fd7dc85af57affff28.
2021-04-03 07:33:18.004 INFO tokio-runtime-worker substrate: ✨ Imported #4 (0x013c…659c)
2021-04-03 07:33:19.240 INFO tokio-runtime-worker substrate: ???? Idle (0 peers), best: #4 (0x013c…659c), finalized #2 (0x15a9…e266), ⬇ 0 ⬆ 0
2021-04-03 07:33:24.003 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Starting consensus session on top of parent 0x013cfa6a5df24a042232563affcc3fa3b9c8ac4c34a165e92d2399572d31659c
2021-04-03 07:33:24.005 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Prepared block for proposing at 5 [hash: 0x3191bb44c37ec64fe55f13effc83cf81faa63932701f9c53e3fbdf0b62207411; parent_hash: 0x013c…659c; extrinsics (1): [0x6cd0…5fe0]]
2021-04-03 07:33:24.011 INFO tokio-runtime-worker sc_consensus_slots: ???? Pre-sealed block for proposal at 5. Hash now 0xb5481b446663db1837b9e6e97b1ba90b78f83b7375b63281a619cab2fad14a7e, previously 0x3191bb44c37ec64fe55f13effc83cf81faa63932701f9c53e3fbdf0b62207411.
2021-04-03 07:33:24.011 INFO tokio-runtime-worker substrate: ✨ Imported #5 (0xb548…4a7e)
2021-04-03 07:33:24.240 INFO tokio-runtime-worker substrate: ???? Idle (0 peers), best: #5 (0xb548…4a7e), finalized #2 (0x15a9…e266), ⬇ 0 ⬆ 0
2021-04-03 07:33:29.246 INFO tokio-runtime-worker substrate: ???? Idle (0 peers), best: #5 (0xb548…4a7e), finalized #3 (0x8307…c1d5), ⬇ 0 ⬆ 0
2021-04-03 07:33:30.002 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Starting consensus session on top of parent 0xb5481b446663db1837b9e6e97b1ba90b78f83b7375b63281a619cab2fad14a7e
2021-04-03 07:33:30.003 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Prepared block for proposing at 6 [hash: 0x3cd0f4ce01046987269ba3d49f9c2a6cf183f501afe41aa497949914f52f9721; parent_hash: 0xb548…4a7e; extrinsics (1): [0x5375…d8ef]]
2021-04-03 07:33:30.007 INFO tokio-runtime-worker sc_consensus_slots: ???? Pre-sealed block for proposal at 6. Hash now 0x7e060bc35305721cfe2262d993befdad2d71993b344496a8a6a79b326d5b58c4, previously 0x3cd0f4ce01046987269ba3d49f9c2a6cf183f501afe41aa497949914f52f9721.
2021-04-03 07:33:30.007 INFO tokio-runtime-worker substrate: ✨ Imported #6 (0x7e06…58c4)
2021-04-03 07:33:34.248 INFO tokio-runtime-worker substrate: ???? Idle (0 peers), best: #6 (0x7e06…58c4), finalized #4 (0x013c…659c), ⬇ 0 ⬆ 0
2021-04-03 07:33:36.005 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Starting consensus session on top of parent 0x7e060bc35305721cfe2262d993befdad2d71993b344496a8a6a79b326d5b58c4
2021-04-03 07:33:36.006 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Prepared block for proposing at 7 [hash: 0xd42883a6a51c3eb4a4e041b393209a40453449cb3fb3ad9b116dc8fd56e34a46; parent_hash: 0x7e06…58c4; extrinsics (1): [0xf575…ca3e]]
2021-04-03 07:33:36.012 INFO tokio-runtime-worker sc_consensus_slots: ???? Pre-sealed block for proposal at 7. Hash now 0x39e2a33eb585f309b0c37dbfc9f14a51b9bdc65635cd87c3492aff410a307010, previously 0xd42883a6a51c3eb4a4e041b393209a40453449cb3fb3ad9b116dc8fd56e34a46.
2021-04-03 07:33:36.013 INFO tokio-runtime-worker substrate: ✨ Imported #7 (0x39e2…7010)
2021-04-03 07:33:39.251 INFO tokio-runtime-worker substrate: ???? Idle (0 peers), best: #7 (0x39e2…7010), finalized #5 (0xb548…4a7e), ⬇ 0 ⬆ 0
2021-04-03 07:33:42.001 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Starting consensus session on top of parent 0x39e2a33eb585f309b0c37dbfc9f14a51b9bdc65635cd87c3492aff410a307010
2021-04-03 07:33:42.002 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Prepared block for proposing at 8 [hash: 0xeaf6a8d40392030ae86e567b3c2ef946db47721d5ea1b01f7cfd04bc6c192145; parent_hash: 0x39e2…7010; extrinsics (1): [0xed82…2539]]
2021-04-03 07:33:42.008 INFO tokio-runtime-worker sc_consensus_slots: ???? Pre-sealed block for proposal at 8. Hash now 0x934c7179130ee58e9796f3c5e185ff5fc948b8b90498872d76958808d43f90ea, previously 0xeaf6a8d40392030ae86e567b3c2ef946db47721d5ea1b01f7cfd04bc6c192145.
2021-04-03 07:33:42.009 INFO tokio-runtime-worker substrate: ✨ Imported #8 (0x934c…90ea)
2021-04-03 07:33:44.253 INFO tokio-runtime-worker substrate: ???? Idle (0 peers), best: #8 (0x934c…90ea), finalized #6 (0x7e06…58c4), ⬇ 0 ⬆ 0
2021-04-03 07:33:48.004 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Starting consensus session on top of parent 0x934c7179130ee58e9796f3c5e185ff5fc948b8b90498872d76958808d43f90ea
2021-04-03 07:33:48.005 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Prepared block for proposing at 9 [hash: 0xf4c3c64fc1c19d74a869ed31c4ac80f732626563f9fbd7c8224f93bb8d54e891; parent_hash: 0x934c…90ea; extrinsics (1): [0x9ddc…c0d8]]
2021-04-03 07:33:48.007 INFO tokio-runtime-worker sc_consensus_slots: ???? Pre-sealed block for proposal at 9. Hash now 0x06f235029fcbf1dfb4c08409dd6221ab3a58937c322b9e35ea8f328d9795e52c, previously 0xf4c3c64fc1c19d74a869ed31c4ac80f732626563f9fbd7c8224f93bb8d54e891.
2021-04-03 07:33:48.008 INFO tokio-runtime-worker substrate: ✨ Imported #9 (0x06f2…e52c)
2021-04-03 07:33:49.257 INFO tokio-runtime-worker substrate: ???? Idle (0 peers), best: #9 (0x06f2…e52c), finalized #6 (0x7e06…58c4), ⬇ 0 ⬆ 0
2021-04-03 07:33:54.000 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Starting consensus session on top of parent 0x06f235029fcbf1dfb4c08409dd6221ab3a58937c322b9e35ea8f328d9795e52c
2021-04-03 07:33:54.001 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Prepared block for proposing at 10 [hash: 0x477c98069a931dce508a87ffd20e7ca05432c2bfb3e3421ecdc48f893cabe142; parent_hash: 0x06f2…e52c; extrinsics (1): [0xa920…147e]]
2021-04-03 07:33:54.006 INFO tokio-runtime-worker sc_consensus_slots: ???? Pre-sealed block for proposal at 10. Hash now 0x2cb890472d0a1ee3c984c2e58c1d14788337a669d485d52b91fe10d32b19646e, previously 0x477c98069a931dce508a87ffd20e7ca05432c2bfb3e3421ecdc48f893cabe142.
2021-04-03 07:33:54.006 INFO tokio-runtime-worker substrate: ✨ Imported #10 (0x2cb8…646e)
2021-04-03 07:33:54.257 INFO tokio-runtime-worker substrate: ???? Idle (0 peers), best: #10 (0x2cb8…646e), finalized #7 (0x39e2…7010), ⬇ 0 ⬆ 0
2021-04-03 07:33:59.257 INFO tokio-runtime-worker substrate: ???? Idle (0 peers), best: #10 (0x2cb8…646e), finalized #8 (0x934c…90ea), ⬇ 0 ⬆ 0
2021-04-03 07:34:00.004 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Starting consensus session on top of parent 0x2cb890472d0a1ee3c984c2e58c1d14788337a669d485d52b91fe10d32b19646e
2021-04-03 07:34:00.005 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Prepared block for proposing at 11 [hash: 0x0e0d7d59185222e5f6cc5470af17830a9b8d5119d7f5fd225d4c3312d7dc9b80; parent_hash: 0x2cb8…646e; extrinsics (1): [0xc575…d9e3]]
2021-04-03 07:34:00.011 INFO tokio-runtime-worker sc_consensus_slots: ???? Pre-sealed block for proposal at 11. Hash now 0x60a28c64bc9788334d8eb073c944e497dbc1ef9c544027acd8a1eb9c8c389f38, previously 0x0e0d7d59185222e5f6cc5470af17830a9b8d5119d7f5fd225d4c3312d7dc9b80.
2021-04-03 07:34:00.012 INFO tokio-runtime-worker substrate: ✨ Imported #11 (0x60a2…9f38)
2021-04-03 07:34:04.257 INFO tokio-runtime-worker substrate: ???? Idle (0 peers), best: #11 (0x60a2…9f38), finalized #9 (0x06f2…e52c), ⬇ 0 ⬆ 0
2021-04-03 07:34:06.001 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Starting consensus session on top of parent 0x60a28c64bc9788334d8eb073c944e497dbc1ef9c544027acd8a1eb9c8c389f38
2021-04-03 07:34:06.041 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Prepared block for proposing at 12 [hash: 0x52a8d5b45be406e92a6313d01e698da8e9f3c25b686de1b9da17ac5ed1be15f8; parent_hash: 0x60a2…9f38; extrinsics (2): [0xd60c…93db, 0xb99f…9061]]
2021-04-03 07:34:06.043 INFO tokio-runtime-worker sc_consensus_slots: ???? Pre-sealed block for proposal at 12. Hash now 0x868d7904bfe7fd00894789da5198a34236a8d2eaf73b50b2870908f5fecd2516, previously 0x52a8d5b45be406e92a6313d01e698da8e9f3c25b686de1b9da17ac5ed1be15f8.
2021-04-03 07:34:06.044 INFO tokio-runtime-worker substrate: ✨ Imported #12 (0x868d…2516)
2021-04-03 07:34:09.260 INFO tokio-runtime-worker substrate: ???? Idle (0 peers), best: #12 (0x868d…2516), finalized #10 (0x2cb8…646e), ⬇ 0 ⬆ 0
2021-04-03 07:34:12.000 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Starting consensus session on top of parent 0x868d7904bfe7fd00894789da5198a34236a8d2eaf73b50b2870908f5fecd2516
2021-04-03 07:34:12.001 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Prepared block for proposing at 13 [hash: 0x73e1a13a573324b497f1e8bb80cf9b044f06552a2be64149afa5d2823daacafc; parent_hash: 0x868d…2516; extrinsics (1): [0x784e…1478]]
2021-04-03 07:34:12.007 INFO tokio-runtime-worker sc_consensus_slots: ???? Pre-sealed block for proposal at 13. Hash now 0xa17517d0d752e1a65293d9edead6f3d8e5f77c141cbfcce2aa43987eb3ae5e71, previously 0x73e1a13a573324b497f1e8bb80cf9b044f06552a2be64149afa5d2823daacafc.
2021-04-03 07:34:12.008 INFO tokio-runtime-worker substrate: ✨ Imported #13 (0xa175…5e71)
2021-04-03 07:34:14.263 INFO tokio-runtime-worker substrate: ???? Idle (0 peers), best: #13 (0xa175…5e71), finalized #11 (0x60a2…9f38), ⬇ 0 ⬆ 0
2021-04-03 07:34:18.000 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Starting consensus session on top of parent 0xa17517d0d752e1a65293d9edead6f3d8e5f77c141cbfcce2aa43987eb3ae5e71
2021-04-03 07:34:18.001 INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: ???? Prepared block for proposing at 14 [hash: 0x0b1f20f6e17fb8a1729af601675dbef46412d22d4d12ed4a5a27ee34580b7ecf; parent_hash: 0xa175…5e71; extrinsics (1): [0x664e…ff45]]
2021-04-03 07:34:18.008 INFO tokio-runtime-worker sc_consensus_slots: ???? Pre-sealed block for proposal at 14. Hash now 0xe753a25482052b126951d823cd9ec922a919aaa11ef5fc8751a8c20587935195, previously 0x0b1f20f6e17fb8a1729af601675dbef46412d22d4d12ed4a5a27ee34580b7ecf.
2021-04-03 07:34:18.008 INFO tokio-runtime-worker substrate: ✨ Imported #14 (0xe753…5195)
2021-04-03 07:34:19.263 INFO tokio-runtime-worker substrate: ???? Idle (0 peers), best: #14 (0xe753…5195), finalized #11 (0x60a2…9f38), ⬇ 0 ⬆ 0
on_runtime_upgrade()within decl_module! Can you double check that your template pallet is withinconstruct_runtime!in your runtime config ? When upgrading every pallet will be running itson_runtime_upgrade()function only if it is included inconstruct_runtime()Also, the runtime versioning is manually set. Thus the executor can still make inappropriate decisions if the runtime version is misrepresented. In order to upgrade the runtime it is required to increase the spec_version, check that too :) - Alejandro Martínez