Skip to main content

Upgrade Details

Overview

This is a simple upgrade to test the upgrade process and prepare validators for future upgrades.

This upgrade to version 0.9 includes the following changes:

  • Version Command: Improved version representation for the dchain version command
  • Notary Module: Fixed authority configuration in the notary module
  • Log Filtering: Added configurable log filtering to reduce log volume

Log Configuration

You can now configure log filtering by specifying log_level in your config.toml. This filters validator's VP (Validator Process) routines and can significantly reduce disk usage:

log_level = "abci:error"

This configuration shows only error level messages and higher severity messages (e.g., panic). For debugging or verifying VP processing, you can set the level back to info.

Upgrade Methods

You can upgrade using one of two methods:

  1. Cosmovisor (recommended): Automated upgrade handling
  2. Manual Upgrade: Manual binary replacement

Preparation

Step 1: Checkout Source Code

NOTE: The git tag is v0.9.0 but the upgrade version is 0.9

Fetch and checkout the v0.9.0 tag:

git fetch --all
git checkout v0.9.0

Step 2: Build the Binary

Compile the new binary:

make build

After successful compilation, the dchain binary will be in the root directory.

Cosmovisor is a process manager from cosmos-sdk that automates binary upgrades, eliminating the need to manually monitor for network halts.

Create Upgrade Directory

Create the directory structure for the upgrade:

mkdir -p <path-to-dchain-home>/cosmovisor/upgrades/0.9/bin

Replace <path-to-dchain-home> with your cosmovisor data directory path.

Copy Binary

Copy the compiled binary to the upgrade directory:

cp dchain <path-to-dchain-home>/cosmovisor/upgrades/0.9/bin/

What Happens During Upgrade

When the network halts with CONSENSUS FAILURE!!! for the upgrade:

  1. Cosmovisor detects the upgrade height
  2. Automatically replaces the binary symlink
  3. Restarts dchain with the new binary

Current directory structure:

current -> genesis
genesis/
upgrades/
0.9/
bin/
dchain

After successful upgrade:

current -> upgrades/0.9
genesis/
upgrades/
0.9/
bin/
dchain

Option B: Manual Upgrade

If not using cosmovisor, follow these steps when the network halts:

  1. Stop the running dchain process
  2. Replace the old binary with the new v0.9.0 binary
  3. Restart dchain

Note: You must monitor for the CONSENSUS FAILURE!!! message and perform these steps promptly to avoid prolonged downtime.