Dymension Node Binary Upgrade Guide
Upgrading your Dymension node to a specific release version ensures compatibility with the latest protocol features and network security patches. This procedure involves fetching the latest source code, compiling the binary, and restarting the node service via systemd.
Prerequisites
Section titled “Prerequisites”Before executing the upgrade, ensure your environment is prepared:
- Active Node: A functional Dymension node running under a
systemdservice nameddymd. - Go Environment: Verify that your
$GOPATHand$GOBINare correctly configured in your shell profile. - Source Access: Access to the official Dymension GitHub repository.
Upgrade Procedure
Section titled “Upgrade Procedure”1. Fetch and Build the Target Version
Section titled “1. Fetch and Build the Target Version”Navigate to your local Dymension source directory and fetch the latest tags. It is recommended to perform a git fetch to ensure all remote tags are available before checking out the specific version.
cd $HOME/dymensiongit fetch --allgit checkout v2.0.0-alpha.8make install2. Verify the Installation
Section titled “2. Verify the Installation”After the build completes, confirm that the binary version and commit hash match the official release documentation. This step prevents running an incorrect build on the mainnet or testnet.
dymd version --long | grep -e commit -e versionExpected Output for v2.0.0-alpha.8:
version: v2.0.0-alpha.8commit: 080bbb9ede90170f84a3f4f3665c179ea8742716
3. Restart and Monitor the Service
Section titled “3. Restart and Monitor the Service”Once the binary is verified, restart the systemd service. Immediately follow the logs to ensure the node handles the database migration (if any) and resumes block synchronization.
sudo systemctl restart dymd && journalctl -u dymd -f -o catPost-Upgrade Verification
Section titled “Post-Upgrade Verification”Monitor the following indicators to ensure a successful transition:
| Check | Command | Goal |
|---|---|---|
| Catching Up | `dymd status 2>&1 | jq .SyncInfo.catching_up` |
| Log Output | journalctl -u dymd -n 50 | No “AppHash mismatch” or “Panic” errors |
| P2P Connectivity | `dymd net-info | jq ‘.n_peers |
Common Failure Points
Section titled “Common Failure Points”- Incorrect Go Version: If
make installfails, verify your Go version withgo version. Dymension typically requires Go 1.21 or higher. - Path Issues: If
dymd versionstill shows the old version, ensure your$HOME/go/bintakes precedence in your$PATHor that the binary was correctly moved to/usr/local/binif customized. - Database Incompatibility: If the node fails to start with a “state machine” error, you may be attempting to run a version that is incompatible with the current block height or requires a specific migration tool.