Manual Node Upgrade
This page explains how to upgrade nym-node
or validator
to the latest version in a few steps. If you prefer to automate the process, try to setup your flow with Nymvisor.
Our documentation often refer to syntax annotated in <>
brackets. We use this expression for variables that are unique to each user (like path, local moniker, versions etcetra).
Any syntax in <>
brackets needs to be substituted with your correct name or version, without the <>
brackets. If you are unsure, please check our table of essential parameters and variables (opens in a new tab).
Nym node Upgrade
Upgrading your node is a straight forward two-step process:
1. Updating the binary and ~/.nym/nym-nodes/<ID>/config/config.toml
on your VPS
2. Updating the node information in the mixnet smart contract (opens in a new tab). This is the information that is present on the mixnet explorer (opens in a new tab).
Below are detailed steps how to do it:
1. Upgrading node binary and information in config file
-
Pause your node process.
- If you run your node as
systemd
service (recommended), run:service nym-node stop
- Otherwise open the terminal window with your node logs and press
ctrl + c
- If you run your node as
-
Replace the existing
nym-node
binary with the newest binary (which you can either compile yourself or download. -
Re-run with the same values as you use to run your
nym-node
. If you want keep changes in your config file, use flag-w
(--write-changes
), This will just update the config file, it will not overwrite existing keys.- If you automated your node with
systemd
(recommended) run:
- If you automated your node with
systemctl daemon-reload
service nym-node start
- If you want to monitor the logs of your
nym-node.service
, run:
journalctl -f -u nym-node.service
2. Updating your node information in the smart contract
Follow these steps to update the information about your nym-node
which is publicly available from the nym-api
(opens in a new tab) and information displayed on the Mixnet explorer (opens in a new tab).
You can either do this graphically via the Desktop Wallet, or the CLI.
Validator Upgrade
Upgrading from v0.31.1
-> v0.32.0
process is fairly simple. Grab the v0.32.0
release tarball from the nyxd
releases page (opens in a new tab), and untar it. Inside are two files:
- The new validator (
nyxd
) v0.32.0 - The new
wasmvm
(it depends on your platform, but most common filename islibwasmvm.x86_64.so
)
Wait for the upgrade height to be reached and the chain to halt awaiting upgrade, then:
- Coopy
libwasmvm.x86_64.so
to the default LD_LIBRARY_PATH on your system (on Ubuntu 20.04 this is/lib/x86_64-linux-gnu/
) replacing your existing file with the same name. - Swap in your new
nyxd
binary and restart.
You can also use something like Cosmovisor (opens in a new tab) - grab the relevant information from the current upgrade proposal here (opens in a new tab).
Cosmovisor will swap the nyxd
binary, but you'll need to already have the libwasmvm.x86_64.so
in place.
Common Reasons Validator Being Jailed
The most common reason for your validator being jailed is that it runs out of memory because of bloated syslogs.
Running the command df -H
will return the size of the various partitions of your VPS.
If the /dev/sda
partition is almost full, try pruning some of the .gz
syslog archives and restart your validator process.