github.com/Finschia/finschia-sdk@v0.48.1/x/upgrade/spec/README.md (about)

     1  <!--
     2  order: 0
     3  title: Upgrade Overview
     4  parent:
     5    title: "upgrade"
     6  -->
     7  
     8  # `upgrade`
     9  
    10  ## Abstract
    11  
    12  `x/upgrade` is an implementation of a Cosmos SDK module that facilitates smoothly
    13  upgrading a live Cosmos chain to a new (breaking) software version. It accomplishes this by
    14  providing a `BeginBlocker` hook that prevents the blockchain state machine from
    15  proceeding once a pre-defined upgrade block height has been reached.
    16  
    17  The module does not prescribe anything regarding how governance decides to do an
    18  upgrade, but just the mechanism for coordinating the upgrade safely. Without software
    19  support for upgrades, upgrading a live chain is risky because all of the validators
    20  need to pause their state machines at exactly the same point in the process. If
    21  this is not done correctly, there can be state inconsistencies which are hard to
    22  recover from.
    23  
    24  <!-- TOC -->
    25  1. **[Concepts](01_concepts.md)**
    26  2. **[State](02_state.md)**
    27  3. **[Events](03_events.md)**