we are building a network based on parity substrate.
when upgrading a network through sudo / setCode, which previously worked like a charm many times, we end up with a broken chain when uploading a new runtime based on substrate 2.0.1 into a chain based on substrate 2.0.0.
the error we get after an upgrade is:
FATAL: Unable to initialize the API: -32603: Unknown error occurred: Client, VersionInvalid, Other, "Instantiation: Export ext_default_child_storage_storage_kill_version_2 not found
we already checked for additional code rendering the new build defect, but separately, both builds work flawless.
as the newer chainspec contains more details for the contracts pallet, and multiaddress format, it seems there are some changes, which the old runtime cannot chew, but coming from the error, we cannot identify, what the original problem is and could not find any documentation explaining eventually breaking changes for a patch version bump.
changing the genesis chainspec renders the following builds incompatible with the old runtime, therefore a chain cannot be upgraded if we change the chainspec.
but prior to the recent updates, the build never complained about missing data in the spec, therefore the question is, where is this introduced or how can we disable this or is it a breaking change we oversaw.
thanks in advance for any pointers.
question from:
https://stackoverflow.com/questions/65928516/broken-chain-after-upgrade-fatal-unable-to-initialize-the-api-32603-unknown 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…