diff --git a/src/content/Docs/node-operators/network-upgrades/index.md b/src/content/Docs/node-operators/network-upgrades/index.md index 37b021563..759594c11 100644 --- a/src/content/Docs/node-operators/network-upgrades/index.md +++ b/src/content/Docs/node-operators/network-upgrades/index.md @@ -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. --- diff --git a/src/content/Docs/node-operators/network-upgrades/mainnet-16/index.md b/src/content/Docs/node-operators/network-upgrades/mainnet-17/index.md similarity index 75% rename from src/content/Docs/node-operators/network-upgrades/mainnet-16/index.md rename to src/content/Docs/node-operators/network-upgrades/mainnet-17/index.md index 2813de389..f692744ee 100644 --- a/src/content/Docs/node-operators/network-upgrades/mainnet-16/index.md +++ b/src/content/Docs/node-operators/network-upgrades/mainnet-17/index.md @@ -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). --- @@ -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 @@ -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) --- @@ -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 @@ -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 @@ -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 @@ -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:** @@ -217,7 +205,7 @@ 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): @@ -225,15 +213,15 @@ Using Cosmovisor to perform the upgrade is not mandatory. Node operators can man 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:** @@ -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 @@ -327,7 +315,7 @@ The directory structure will look like: ```bash .cache/goreleaser/main//akash version -# Should output: v1.2.0 +# Should output: v2.0.0 ``` ### Using the Built Binary @@ -335,9 +323,9 @@ The directory structure will look like: **For Cosmovisor:** ```bash -mkdir -p $HOME/.akash/cosmovisor/upgrades/v1.2.0/bin -cp .cache/goreleaser/main//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//akash $HOME/.akash/cosmovisor/upgrades/v2.0.0/bin/akash +chmod +x $HOME/.akash/cosmovisor/upgrades/v2.0.0/bin/akash ``` **For manual upgrade:** @@ -356,7 +344,7 @@ 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 @@ -364,7 +352,7 @@ akash status | jq '.sync_info' akash version ``` -**Expected output:** `v1.2.0` +**Expected output:** `v2.0.0` ### Check Validator Status @@ -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 @@ -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:** @@ -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