I am confused about the behavior of the check-block
command. I was expecting it to re-execute the block, but it seems like this is not the case.
For example, the following command:
➜ ~ RUST_LOG=runtime=trace,executor=trace,info ./polkadot check-block --database paritydb --base-path ... --wasm-runtime-overrides ./wasm --chain kusama 0x7a0fcaf6fde9be14aeaf57b84a95f4286ba8d9435bd9c5426a1fbfd0954e8bd6
2022-12-12 16:58:15.286 INFO main wasm_overrides: Found wasm override. version=kusama-9340 (parity-kusama-0.tx17.au2) file=./wasm/kusama_runtime.wasm
2022-12-12 16:58:17.993 TRACE main executor: Executing function function=BabeApi_configuration
2022-12-12 16:58:20.618 TRACE main executor: Request for native execution failed native=kusama-9300 (parity-kusama-0.tx14.au2) chain=kusama-9340 (parity-kusama-0.tx17.au2)
2022-12-12 16:58:20.922 ERROR tokio-runtime-worker sc_service::task_manager: Essential task `txpool-background` failed. Shutting down service.
2022-12-12 16:58:20.922 ERROR tokio-runtime-worker sc_service::task_manager: Essential task `transaction-pool-task-0` failed. Shutting down service.
2022-12-12 16:58:20.922 ERROR tokio-runtime-worker sc_service::task_manager: Essential task `transaction-pool-task-1` failed. Shutting down service.
Completed in 207 ms.
2022-12-12 16:58:21.129 INFO main sc_service::chain_ops::import_blocks: 🎉 Imported 1 blocks. Best: #15719798
Interestingly, the executor
logs show that Core_execute_block
runtime API was not called.
My goal is to re-execute the previous block(s) with a --wasm-override
that does NOT have the runtime logs disabled, so I can see all the runtime logs.
So, the real question is, what is check-block
even doing, and if it is not the above requirement, what alternative exist? try-runtime-cli
has a command that can also execute past blocks, but it is a bit harder to work with.