1
  1. What is the best way to perform an upgrade to the latest version of substrate for a node with some custom modifications?
  2. Is there a way to test that the upgrade hasn't modified the blockchain state in any way?
1

2 Answers 2

1

with try-runtime in pre and post check https://docs.substrate.io/v3/tools/try-runtime/

1
  • Thanks! For the node upgrade I'm following the guide: github.com/paritytech/substrate/blob/master/docs/… However it only covers the upgrade to V3. If I want to get the latest version of contract pallet or the latest monthly upgrade, shall I follow and implement the diffs that happened after V3 release?
    – Raid Ateir
    May 17, 2022 at 12:11
1
  1. If you based your project on a version of the node template, you can look at the code diff between some tagged releases there to see what logic changes needed to happen. For example, this rather large leap from 3.0.0 to polkadot-v0.9.20.

    Do keep in mind that if you want to be a parachain then at the time of writing, you will often need to stay up to date with the relay chain version you are trying to connect to in real-time.

    If you are intending on updating a running chain then you likely have a much more involved job of looking through storage migrations that could be required per the pallets you are using from Substrate or other libraries like ORML.


  1. As mentioned in another answer, try-runtime in pre and post check can be quite helpful in testing. These is also thinks like fork-off-runtime that you could consider too.
1
  • Thanks a lot for your comment, this is very useful. Maybe a simple question, just want a confirmation for my peace of mind. I assume if we upgrade the contracts pallet to support the latest ink! version, the smart contract that have been previously deployed will not be affected in any way?
    – Raid Ateir
    May 18, 2022 at 11:25

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.