# Upgrade Node
Learn how to upgrade your full node to the latest software version
# Software Upgrade
These instructions are for full nodes that have ran on previous versions of and would like to upgrade to the latest testnet.
First, stop your instance of ethermintd
. Next, upgrade the software:
If you have issues at this step, please check that you have the latest stable version of GO installed.
You will need to ensure that the version installed matches the one needed for th testnet. Check the Ethermint release page for details on each release.
# Upgrade Genesis File
If the new version you are upgrading to has breaking changes, you will have to restart your chain. If it is not breaking, you can skip to Restart.
To upgrade the genesis file, you can either fetch it from a trusted source or export it locally using the ethermintd export
command.
# Fetch from a Trusted Source
If you are joining an existing testnet, you can fetch the genesis from the appropriate testnet source/repository where the genesis file is hosted.
Save the new genesis as new_genesis.json
. Then, replace the old genesis.json
with new_genesis.json
.
Finally, go to the reset data section.
# Export State to a new Genesis locally
Ethermint can dump the entire application state to a JSON file. This, besides upgrades, can be useful for manual analysis of the state at a given height.
Export state with:
You can also export state from a particular height (at the end of processing the block of that height):
If you plan to start a new network for 0 height (i.e genesis) from the exported state, export with the --for-zero-height
flag:
Then, replace the old genesis.json
with new_genesis.json
.
At this point, you might want to run a script to update the exported genesis into a genesis state that is compatible with your new version.
You can use the migrate
command to migrate from a given version to the next one (eg: v0.X.X
to v1.X.X
):
# Restart Node
To restart your node once the new genesis has been updated, use the start
command:
# Next
Learn about how to setup a validator node on Ethermint