cosmos-sdk/x/upgrade/spec
Marie Gauthier 75d9d0dd7e
feat: Add `MsgSoftwareUpgrade` and `MsgCancelUpgrade` (for new msgs-based gov proposals) (#11116)
2022-03-03 16:45:02 +01:00
..
01_concepts.md feat: Add `MsgSoftwareUpgrade` and `MsgCancelUpgrade` (for new msgs-based gov proposals) (#11116) 2022-03-03 16:45:02 +01:00
02_state.md docs: Improve markdownlint configuration (#11104) 2022-02-10 12:07:01 +00:00
03_events.md Docs: hide frontmatter, bugfixes (#5413) 2019-12-17 08:44:44 -03:00
04_client.md style: lint go and markdown (#10060) 2021-10-30 13:43:04 +00:00
README.md docs: Improve markdownlint configuration (#11104) 2022-02-10 12:07:01 +00:00

README.md

upgrade

Abstract

x/upgrade is an implementation of a Cosmos SDK module that facilitates smoothly upgrading a live Cosmos chain to a new (breaking) software version. It accomplishes this by providing a BeginBlocker hook that prevents the blockchain state machine from proceeding once a pre-defined upgrade block height has been reached.

The module does not prescribe anything regarding how governance decides to do an upgrade, but just the mechanism for coordinating the upgrade safely. Without software support for upgrades, upgrading a live chain is risky because all of the validators need to pause their state machines at exactly the same point in the process. If this is not done correctly, there can be state inconsistencies which are hard to recover from.

  1. Concepts
  2. State
  3. Events
  4. Client