The following document describes the necessary steps involved that a full node
must take in order to upgrade from cosmoshub-1 to cosmoshub-2.
Given the acceptance of the transfers enablement proposal which encompasses the
v0.34.0 release of the SDK, the Cosmos network, cosmoshub-1, will halt at
block TODO and will upgrade to cosmoshub-2 using the v0.34.0 (0f7877c2) release
of the SDK.
Since v0.33.x, the SDK has upgraded to use Golang's new module
system. If you see any errors when building or installing relating to your $GOPATH,
you must set the environment variable GO111MODULE=on before building or installing.
-
The version of the SDK, v0.33.0, which currently all full nodes in the network run, contains a zero height export bug related to distribution. This bug has been fixed in a hotfix release v0.33.2 (
dba33693).- Checkout and install the v0.33.2 release
$ git checkout v0.33.2; make install- Verify the binary versions
$ gaiacli version --long cosmos-sdk: 0.33.2 git commit: dba33693c4b714db7c01eb3926edf780be12a8e5 vendor hash: 9aaf52ef4de69f6422b4e43f397a544d7bc02fcd build tags: netgo ledger go version go1.12.1 darwin/amd64
$ gaiad version --long cosmos-sdk: 0.33.2 git commit: dba33693c4b714db7c01eb3926edf780be12a8e5 vendor hash: 9aaf52ef4de69f6422b4e43f397a544d7bc02fcd build tags: netgo ledger go version go1.12.1 darwin/amd64
-
Export existing state from
cosmoshub-1.- Export genesis state to file
$ gaiad export --for-zero-height --height=500000 > cosmoshub_1_genesis_export.json
-
At this point you now have a valid exported genesis state. All further steps now require the v0.34.0 release of the SDK.
- Checkout and install the v0.34.0 release
$ git checkout v0.34.0; make install- Verify the binary versions
$ gaiacli version --long cosmos-sdk: 0.34.0 git commit: 0f7877c23b407e24e56056469e90fe6b8a78d84c vendor hash: b0ee613acca9a3a572b558d0481ec7baa008f732431392af81db3555c92c8dd7 build tags: netgo ledger go version go1.12.1 darwin/amd64
$ gaiad version --long cosmos-sdk: 0.34.0 git commit: 0f7877c23b407e24e56056469e90fe6b8a78d84c vendor hash: b0ee613acca9a3a572b558d0481ec7baa008f732431392af81db3555c92c8dd7 build tags: netgo ledger go version go1.12.1 darwin/amd64
-
The exported genesis state generated in step (2) must now be modified to include the agreed upon parameter changes in the governance proposal.
$ python contrib/export/v0.33.x-to-v0.34.0.py cosmoshub_1_genesis_export.json \
--chain-id=cosmoshub-2 --start-time=2019-04-22T17:00:00Z > genesis.json
- Reset state
$ gaiad unsafe-reset-all
- Restart the node!