0

I am running substrate on polkadot-v0.9.25, and I want to upgrade it to polkadot-v0.9.36, so I took the normal approach that has been suggested in many questions, that is to do a runtime upgrade and change the client but after doing so block production stops after an epoch of runtime upgrade and there is no error that i can see in the logs. I have tried the runtime upgrade in development mode with an epoch time of 2mins, does anybody have any suggestions to solve this?

Log after runtime upgrade Upgrade logs

Block production stops after an epoch enter image description here

3 Answers 3

2

The safest path to update with such a big gap in between versions would be:

  • Identify all the migrations that happened since your version to the target one.

  • Leverage try-runtime to check if the migrations are having the expected behaviour - https://docs.substrate.io/reference/how-to-guides/tools/use-try-runtime/ . Note that you will have to apply the relevant migrations if not all of them, this might imply do the upgrade in several steps.

  • On top of just storage migrations, you also want to be aware of included host functions between client releases, you need those as you enact the runtime that uses them.

Once you have tested that migrations work as expected, you then may apply the same upgrade steps to your running chain. I would say that working with try-runtime is what will bring you confidence that the work you are doing is going to be effective.

1

You can not jump from 0.9.25 to 0.9.36 directly.

Sometimes this works, but sometimes not.

You need to check if there were any critical migrations.

If you miss one of them your chain might be bricked.


Also, the version changed so much. I don't know if you did the code upgrade correctly which might also cause this.

0

I got the issue, there were some storage migrations in 0.9.30 and 0.9.34, so what needs to be done so that chain does not brick is:

  • to chill the validators and then revalidate
  • change the session keys of existing validators after runtime upgrade
  • add new validators after runtime upgrade

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.