Skip to main content

Upgrade Details

Overview

This upgrade to version 0.11 includes the following changes:

  • Notary Module — Asset ID Derivation: Newly notarised assets now derive their asset ID from invoiceHash instead of odpHash. Pre-existing notarised assets retain their original IDs (no state migration is performed).
  • Notary Module Consensus Version: Bumped from 2 to 3 to reflect the asset-id derivation change.

The upgrade will be at Theodoric-II Block TBD (Expected around - TBD UTC).

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.11 but the upgrade version is 0.11

Fetch and checkout the v0.11 tag:

git fetch origin --tags
git checkout v0.11.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.11/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.11/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 -> upgrades/0.10
genesis/
upgrades/
0.9/
bin/
dchain
0.10/
bin/
dchain
0.11/
bin/
dchain

After successful upgrade:

current -> upgrades/0.11
genesis/
upgrades/
0.9/
bin/
dchain
0.10/
bin/
dchain
0.11/
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.11 binary
  3. Restart dchain

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