Unable to author block in slot, can_author_with returned: spec_name does not match. Probably a node update is required!

I am getting this error after trying to create a new blockchain (named newchain) copying another one I had working for many years (named oldchain). I cleaned the db (with the purge-chain command), changed the chain id, chain name, and even the spec_version. But when starting a new node with the newchain I get this message:

Unable to author block in slot 283224808,. `can_author_with` returned: `spec_name` does not match `newchain-node` vs `oldchain-node` Probably a node update is required!

I can’t understand where the “oldchain-node” comes from. Since it does not appear in any part of the code, the docker image and container where created from scratch, and the db was cleaned.

The command I use to start the node is:

./target/release/frontier-template-node --chain newchain.json --validator --rpc-port 8334 --port 30333 --ws-port 9944 --node-key="$nodeK" --rpc-methods=Unsafe --rpc-external --rpc-cors=all --ws-external --name newchain --bootnodes /ip4/xx.xx.xx.xx/tcp/30333/p2p/$nodeId

The IP of the bootnode matches the IP of the newchain node, and so does the nodeId

you did not rebuild the wasm and regenerate the chain spec

How to do it?

Generate chainspec, runtime wasm, genesis state from your new binaries

1 Like