Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions src/content/Docs/node-operators/network-upgrades/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@ This section contains comprehensive upgrade guides for node operators and valida

## Current Network Upgrade

### [Mainnet 16 - Akash v1.2.0](/docs/node-operators/network-upgrades/mainnet-16)
### [Mainnet 17 - Akash v2.0.0](/docs/node-operators/network-upgrades/mainnet-17/)

**Status:** Upcoming
**Upgrade Height:** 25,789,395
**Estimated Time:** Wednesday, March 4th, 2025 at 14:00 UTC
**Binary Version:** v1.2.0
**Upgrade Height:** 26,063,777
**Binary Version:** v2.0.0
**Binary Release:** Binaries will be released approximately 24 hours after the upgrade height.

Complete upgrade guide including Cosmovisor and manual upgrade instructions, build from source guide, and troubleshooting. This upgrade includes store migrations for the deployment and market modules; 128GB RAM with swap is recommended.
Complete upgrade guide including Cosmovisor and manual upgrade instructions, build from source guide, and troubleshooting. Monitor block height and Discord for timing; prepare your node before the upgrade.

---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,39 +2,27 @@
categories: ["Node Operators", "Network Upgrades"]
tags: ["Mainnet", "Upgrade", "Cosmovisor"]
weight: 1
title: "Mainnet 16 - Akash v1.2.0"
linkTitle: "Mainnet 16"
description: "Complete upgrade guide for Mainnet 16 (Akash v1.2.0)"
title: "Mainnet 17 - Akash v2.0.0"
linkTitle: "Mainnet 17"
description: "Complete upgrade guide for Mainnet 17 (Akash v2.0.0)"
---

**Upgrade guide for Akash Network Mainnet 16 upgrade to v1.2.0.**
**Upgrade guide for Akash Network Mainnet 17 upgrade to v2.0.0.**

This guide provides step-by-step instructions for upgrading your node to Akash v1.2.0 using both Cosmovisor (recommended) and manual upgrade methods.
This guide provides step-by-step instructions for upgrading your node to Akash v2.0.0 using both Cosmovisor (recommended) and manual upgrade methods.

---

## Upgrade Details

**Upgrade Information:**
- **Upgrade Name:** Mainnet16
- **Binary Version:** `v1.2.0`
- **Block Height:** 25,789,395
- **Estimated Time:** Wednesday, March 4th, 2025 at 14:00 UTC
- **Expected Duration:** 10–15 minutes of network downtime (longer possible due to store migrations)
- **Binary Release:** Available approximately 10 hours before the upgrade
- **Binary Links:** [GitHub Releases](https://github.com/akash-network/node/releases/tag/v1.2.0)
- **Upgrade Name:** Mainnet17
- **Binary Version:** `v2.0.0`
- **Block Height:** 26,063,777
- **Binary Release:** Binaries will be released approximately **24 hours before** the upgrade height
- **Binary Links:** [GitHub Releases](https://github.com/akash-network/node/releases/tag/v2.0.0) (once published)

> **Note:** Block times have high variance. Please monitor the chain or block explorer for more precise timing estimates.

---

## Upgrade Features


- **CometBFT Tachyon advisory fix** – Public rollout of CSA-2026-001: Tachyon (previously distributed as binary-only to validators).
- **Deployment and market module store migrations** – Migrate from manual KVStore key encoding to `cosmossdk.io/collections`. `IndexedMap` replaces hand-rolled prefix keys with type-safe, indexed collections.
- **Secondary indexes** – State, Owner, and Provider indexes enable efficient filtered queries without full-store iteration.
- **Lease closed reason** – `MsgCloseBid` now records why a lease was closed (e.g. Unstable). The reason is persisted on the lease and returned in query responses.
> **Note:** Block times have high variance. Monitor the chain or block explorer for the upgrade. Prepare your node to halt at the upgrade height; install the v2.0.0 binary once it is released (~24 hours after the chain halts).

---

Expand All @@ -44,7 +32,8 @@ To ensure a network upgrade with minimal downtime, Akash Validators should be av

**Timeline:**
- **One hour prior to upgrade** - Available and monitoring the Akash Discord server's `#validators` and `#validator-announcements` channels for any late-breaking guidance
- **During upgrade window** – Available throughout the expected downtime (may be longer than usual due to store migrations)
- **During upgrade window** – Available throughout the expected downtime
- **After binary release** – Install v2.0.0 binary and restart once released (~24 hours after upgrade height)
- **One hour post upgrade** - Available and monitoring Discord channels for any possible revised strategies or updates deemed necessary

### Emergency Coordination
Expand All @@ -57,12 +46,11 @@ In the event of issues during the upgrade, coordinate via the **#validators chan

## Hardware Requirements

This upgrade performs **store migrations** for the deployment and market modules, re-encoding all deployments, groups, orders, bids, and leases into the new collections format.
**Recommended specifications for running a node for this upgrade:**

**Recommended Specifications:**
- **OS:** Ubuntu 24.04 recommended
- **RAM:** 128 GB minimum (with swap enabled)
- **CPU:** 8+ cores recommended
- **OS:** Ubuntu 24.04
- **RAM:** 128 GB with 64 GB swap
- **CPU:** 8+ cores minimum
- **Storage:** Sufficient space for blockchain data (1 TB+ recommended)

---
Expand All @@ -83,7 +71,7 @@ The following instructions assume the `akash` and `cosmovisor` binaries are alre

> **Note:** Cosmovisor v1.5.0 or higher is required.

Validators and RPCs supervised by Cosmovisor with `DAEMON_ALLOW_DOWNLOAD_BINARIES=true` will automatically download upgrade binaries from the upgrade info file (info.json).
Validators and RPCs supervised by Cosmovisor with `DAEMON_ALLOW_DOWNLOAD_BINARIES=true` will automatically download upgrade binaries from the upgrade info file (info.json) once available. Because binaries are released ~24 hours after the upgrade height, ensure your Cosmovisor setup can obtain the binary when released, or place the binary manually after download.

### Step 1: Configure Cosmovisor

Expand Down Expand Up @@ -136,7 +124,7 @@ WantedBy=multi-user.target

**Important Environment Variables:**

- `DAEMON_ALLOW_DOWNLOAD_BINARIES=false` – It's recommended to manually place the binary (set to `true` for auto-download from upgrade info)
- `DAEMON_ALLOW_DOWNLOAD_BINARIES=false` – It's recommended to manually place the binary (set to `true` for auto-download from upgrade info once available)
- `UNSAFE_SKIP_BACKUP=true` - Set to `false` if you want automatic backup before upgrade
- `DAEMON_SHUTDOWN_GRACE=15s` - Grace period for cleanup before shutdown

Expand All @@ -160,7 +148,7 @@ sudo systemctl status akash

> **Note:** Skip this step if you have enabled `DAEMON_ALLOW_DOWNLOAD_BINARIES=true` in your Cosmovisor configuration.

This upgrade uses an info.json file that references the correct release with pre-built binaries. Download the Akash v1.2.0 binary for your platform from the [GitHub releases page](https://github.com/akash-network/node/releases/tag/v1.2.0).
This upgrade uses an info.json file that references the correct release with pre-built binaries. **Binaries will be released approximately 24 hours after the upgrade height.** Once released, download the Akash v2.0.0 binary for your platform from the [GitHub releases page](https://github.com/akash-network/node/releases/tag/v2.0.0).

**Select your platform:**
- Linux AMD64
Expand All @@ -176,25 +164,25 @@ Create the folder for the upgrade and copy the binary:

```bash
# Create the upgrade directory
mkdir -p $HOME/.akash/cosmovisor/upgrades/v1.2.0/bin
mkdir -p $HOME/.akash/cosmovisor/upgrades/v2.0.0/bin

# Copy the downloaded binary (adjust path to your download location)
cp /path/to/downloaded/akash $HOME/.akash/cosmovisor/upgrades/v1.2.0/bin/akash
cp /path/to/downloaded/akash $HOME/.akash/cosmovisor/upgrades/v2.0.0/bin/akash

# Make it executable
chmod +x $HOME/.akash/cosmovisor/upgrades/v1.2.0/bin/akash
chmod +x $HOME/.akash/cosmovisor/upgrades/v2.0.0/bin/akash

# Verify the version
$HOME/.akash/cosmovisor/upgrades/v1.2.0/bin/akash version
$HOME/.akash/cosmovisor/upgrades/v2.0.0/bin/akash version
```

**Expected output:** `v1.2.0`
**Expected output:** `v2.0.0`

### Step 5: Wait for Upgrade

At the proposed block height (25,789,395), Cosmovisor will automatically:
At the proposed block height (26,063,777), Cosmovisor will automatically:
1. Stop the current binary
2. Set the upgrade binary as the new current binary (v1.2.0)
2. Set the upgrade binary as the new current binary (v2.0.0)
3. Restart the node

**Monitor the upgrade:**
Expand All @@ -217,23 +205,23 @@ Using Cosmovisor to perform the upgrade is not mandatory. Node operators can man

### Manual Upgrade Steps

**1. Wait for the chain to halt** at block height 25,789,395
**1. Wait for the chain to halt** at block height 26,063,777

**2. Stop your node** (if not already stopped):

```bash
sudo systemctl stop akash
```

**3. Install the new binary:**
**3. Wait for the v2.0.0 binary release** (approximately 24 hours after the upgrade height), then install the new binary:

Either download the precompiled binary from [GitHub releases](https://github.com/akash-network/node/releases/tag/v1.2.0) or build from source (see [Build Binary From Source](#build-binary-from-source)).
Either download the precompiled binary from [GitHub releases](https://github.com/akash-network/node/releases/tag/v2.0.0) or build from source (see [Build Binary From Source](#build-binary-from-source)).

**4. Verify the binary version:**

```bash
akash version
# Should output: v1.2.0
# Should output: v2.0.0
```

**5. Restart your node:**
Expand Down Expand Up @@ -295,7 +283,7 @@ git clone https://github.com/akash-network/node.git
cd node

# Checkout the release tag
git checkout v1.2.0
git checkout v2.0.0

# Allow direnv to set up the environment
direnv allow
Expand Down Expand Up @@ -327,17 +315,17 @@ The directory structure will look like:

```bash
.cache/goreleaser/main/<YOUR_OS_ARCH>/akash version
# Should output: v1.2.0
# Should output: v2.0.0
```

### Using the Built Binary

**For Cosmovisor:**

```bash
mkdir -p $HOME/.akash/cosmovisor/upgrades/v1.2.0/bin
cp .cache/goreleaser/main/<YOUR_OS_ARCH>/akash $HOME/.akash/cosmovisor/upgrades/v1.2.0/bin/akash
chmod +x $HOME/.akash/cosmovisor/upgrades/v1.2.0/bin/akash
mkdir -p $HOME/.akash/cosmovisor/upgrades/v2.0.0/bin
cp .cache/goreleaser/main/<YOUR_OS_ARCH>/akash $HOME/.akash/cosmovisor/upgrades/v2.0.0/bin/akash
chmod +x $HOME/.akash/cosmovisor/upgrades/v2.0.0/bin/akash
```

**For manual upgrade:**
Expand All @@ -356,15 +344,15 @@ akash status | jq '.sync_info'

**Important fields:**
- `catching_up: false` - Node is synced
- `latest_block_height` – Current block (should be > 25,789,395)
- `latest_block_height` – Current block (should be > 26,063,777)

### Check Binary Version

```bash
akash version
```

**Expected output:** `v1.2.0`
**Expected output:** `v2.0.0`

### Check Validator Status

Expand Down Expand Up @@ -392,7 +380,7 @@ sudo journalctl -u akash -n 100 --no-pager
- Binary not executable: `chmod +x /path/to/akash`
- Wrong binary version: Verify with `akash version`
- Permission issues: Check user/group settings in systemd service
- Store migration taking longer: Ensure 128GB RAM and swap; monitor memory and disk
- Binary not yet released: v2.0.0 is expected ~24 hours after the upgrade height

### Node Out of Sync

Expand All @@ -411,7 +399,7 @@ If low peer count, add peers from:
**Verify upgrade binary exists:**

```bash
ls -la $HOME/.akash/cosmovisor/upgrades/v1.2.0/bin/akash
ls -la $HOME/.akash/cosmovisor/upgrades/v2.0.0/bin/akash
```

**Check Cosmovisor logs:**
Expand All @@ -421,7 +409,7 @@ sudo journalctl -u akash -f
```

**Common issues:**
- Upgrade binary not in correct location
- Upgrade binary not in correct location (ensure v2.0.0 is placed after it is released)
- Binary not executable
- `DAEMON_ALLOW_DOWNLOAD_BINARIES` set incorrectly

Expand Down
Loading