Skip to content

Mina Mainnet 4.0.0 Automode Upgrade Release

Latest

Choose a tag to compare

@amc-ie amc-ie released this 21 Aug 15:07
· 763 commits to develop since this release
893c877

馃帀 The o1Labs team is proud to announce that the 4.0.0 Mesa Automode release is now ready and available for Mainnet! 馃帀

This Mesa upgrade release contains everything you need to automatically upgrade on the 3rd of September to the Mesa era on Mainnet.
The new approach will allow for much faster and seamless hard forks\upgrades for Mina in future and we are very excited to share it with you!

If you would prefer to handle the upgrade manually (i.e. in two parts), we recommend that you use our legacy stop slot build. This will require an additional upgrade after the Mesa Mainnet network starts and will be made available when the HF takes place.

The Mesa Upgrade is scheduled to take place on the 3rd of September 2026.
For detailed instructions on the upgrade schedule and recommended connection parameters, please refer to our upgrade documentation.

If you run into any issues, please include Release: 4.0.0-mainnet in the name of any issues you create. Please report any issues you encounter here or join the discussion!

What鈥檚 Included in the Mesa Upgrade?

The Mesa Upgrade encompasses four Mina Improvement Proposals (MIPs) and one upgrade mechanism enhancement:

  • Slot Reduction (MIP6): Reduces slot time to 90 seconds, increasing transaction throughput and improving the overall user and developer experience.
  • Increase On-Chain State Size Limit (MIP7): Expands the number of on-chain state fields from 8 to 32, giving developers more flexibility.
  • Event/Action Limit Increase (MIP8): Raises the current limits on events and actions, enabling more expressive applications and reducing the number of transactions end users need to approve.
  • Account Update Limit Increase (MIP9): Raises the limit on account updates per zkApp transaction, allowing more complex logic to be executed within a single transaction.
  • Hard Fork Automation: Introduces new automation infrastructure for conducting future hard forks, making the upgrade process simpler, less manual, and more efficient.

On top of these significant changes to the protocol; the release also ships a large amount of bug fixes, stability enhancements and improvements around resource usage and management that we hope you will all like.

Complete Changelog since 3.4.0/Berkeley:

3.4.0...4.0.0-mainnet

Note - For this release we have temporarily enabled node status tracking by default to help us track the successful progress towards the mainnet upgrade. This behaviour can be turned off by starting the node using the --node-status-url "" flag.


Supported environments include macOS, Linux (Debian 11, 12 and Ubuntu 20.04 LTS, Ubuntu 22.04 LTS & Ubuntu 24.04 LTS), and any host machine with Docker.


Upgrading & Connecting to Mainnet

Debian Packages:

Debian Repository: First, set up and update the stable Debian Repository for your platform with the following commands:

sudo rm /etc/apt/sources.list.d/mina*.list
echo "deb [trusted=yes] http://packages.o1test.net $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/mina.list
sudo apt-get update

Then, install the package(s) that you need:

Mina Daemon: sudo apt-get install --allow-downgrades -y mina-mainnet-automode=4.0.0-mainnet-893c877
Mina Archive: sudo apt-get install --allow-downgrades -y mina-archive=3.5.0-mainnet-stop-slot-5e100ee
Mina Archive Schema: create_schema.sql
Config File: var/lib/coda/config_893c877e.json

Docker Images:

Every docker image is built for each of the supported platforms, replace CODENAME in the images below with your choice of focal, jammy, noble, bullseye or bookworm to select the base docker image.

Mina Daemon: minaprotocol/mina-daemon-automode:4.0.0-mainnet-893c877-CODENAME-mainnet
Mina Archive: minaprotocol/mina-archive:3.5.0-mainnet-stop-slot-5e100ee-CODENAME-mainnet
Mina Rosetta: minaprotocol/mina-rosetta:3.5.0-mainnet-stop-slot-5e100ee-CODENAME-mainnet

Step by Step Guide:

Docker only Make sure to run with:

--peer-list-url https://bootnodes.minaprotocol.com/networks/mainnet.txt or add PEER_LIST_URL=https://bootnodes.minaprotocol.com/networks/mainnet.txt to your .mina-env.

(note - the older https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt is still functional but we advise users to migrate to the newer one when possible).

Run mina daemon with:

mina daemon --peer-list-url https://bootnodes.minaprotocol.com/networks/mainnet.txt

Check out our documentation for complete instructions on using this version to connect to Mainnet.

If you are running the correct version on the correct network MAINNET, mina client status will show:

Chain id:     a7351abc7ddf2ea92d1b38cc8e636c271c1dfd2c081c637f62ebc2af34eb7cc1
Git SHA-1:    893c877e7d0eb78e4f600815571d773c5292cbeb [Mesa era]
Git SHA-1:    8110ede39040cafdf1c1b1ca94a5e283766d1d17 [Berkeley era]