As the chain state goes larger and larger, it gets hard to export/fetch the chain state.

Are there any other tools aside from fork-off-substrate and try-runtime for performing a runtime migration?

  • Could you elaborate what you mean by "it gets hard to export/fetch the chain state"? try-runtime-cli has a snapshot feature which allows downloading the state from the node once (slow) and then saving it to disk. Once you have that state on disk, you can use it when calling on-runtime-upgrade by passing snap instead of live, which loads the state almost instantly.
    – liamaharon
    Aug 21, 2023 at 14:29

2 Answers 2


fork-off-substrate does not work for large chain state indeed.

The try-runtime CLI got moved into its own repo try-runtime-cli with documentation linked here.
We use this regularly in CI and it works well for Polkadot and Kusama. For very large states >10GB it will need some adaptions, so it depends on how large your state currently is.


You can also check out try-runtime: https://docs.substrate.io/reference/how-to-guides/tools/use-try-runtime/

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.