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.