2.0 Migration Plan

Main testing goal: to verify the operation of the blockchain under real-network conditions and to check the ability to correctly upgrade this network from v1.0.4 to v2.0.0, as well as the stability of subsequent operation.

Action Plan

  1. Launch the current devnet build on 30+ nodes. The nodes must become validators. Check network stability under various load scenarios and partial node shutdowns ( 1–4 days after launch).

  2. Launch a maximally close copy of the mainnet on 30+ nodes. A genesis based on the mainnet will be prepared (accounts will be preserved, but validators removed). Launch the network, allow it to produce a sufficient block volume, then perform an upgrade to v2.0.0. Test the network for as long as needed (various contract execution scenarios, calling capabilities, using feegrant, authz, etc.).

  3. After the checks are completed, if everything works stably — prepare and launch the mainnet (upgrade the blockchain to v2, update the production version of the explorer and block indexer).

  4. Launch the required swap contracts and services, deploy the production version of Axiome Swap and the basic version of Pump (cw20 creation).


1. Launching Distributed Blockchain Testing

Connect to the devnet using the instruction

Join the Devnet

and actual node build:

To speed up the process, you can use a preprocessed blocks archive:

# Set DAEMON_HOME (usually ~/.axmd)
DAEMON_HOME="/home/axm/.axmd"

# Download block archives
curl -O https://devnet.lon1.digitaloceanspaces.com/blocks/data-20251202.tar.bz2aa
curl -O https://devnet.lon1.digitaloceanspaces.com/blocks/data-20251202.tar.bz2ab
curl -O https://devnet.lon1.digitaloceanspaces.com/blocks/data-20251202.tar.bz2ac

# Download WASM archive
curl -O https://devnet.lon1.digitaloceanspaces.com/blocks/wasm.tar.bz2

# Unpack blocks into $DAEMON_HOME
cat data-20251202.tar.bz2* | bunzip2 | tar -x -C "$DAEMON_HOME"

# Unpack WASM into $DAEMON_HOME
bunzip2 -c wasm.tar.bz2 | tar -x -C "$DAEMON_HOME"

Request 25,000 AXM from the faucet (the faucet amount will be increased for the testing period).

Wait for your node to synchronize and launch your validator.

# if catching_up false - node synced and ready to become validator
axmd status --output text | grep catching_up
# or you can use jq (apt install jq) to parse json responses
axmd status --output json | jq .sync_info

Your account must be registered in the x/referral module to delegate and start validation (you can send 1 AXM to another validator using the mobile app or send a register-referral tx from the axm node CLI).

# you can use devnet test account axm1v6xdm93m5s9lvu0ux4k76s2p7hgkzj00u8w5z7 as referrer-address
axmd tx referral register-referral [referrer-address] --from <your-key>

During this time, bots will generate background load by trading tokens on SWAP. The Axiome team will monitor the blockchain.

You can set the default chain ID for all commands with the following command:

axmd config set client chain-id demo

After launching, send the validator name to the Telegram validator group (if you are not in it, contact @axm_node_support).

Further instructions will be added to this document as the stages progress.

Last updated