Skip to content

Releases: MinaProtocol/mina

Mainnet Beta Release 3.0.2-beta1

11 Oct 18:00
9ef74da
Compare
Choose a tag to compare
Pre-release

The o1Labs team is proud to announce that 3.0.2-beta1 is ready to test on Mainnet! This release includes a set of important bug fixes, improvements as well as code cleanup & CI improvements.

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

What has changed

New Features

  • Expose raw binary account contents from GraphQL #16000
  • Expose ledger membership proofs from GraphQL for ultra-lite clients / wallets #15987
  • GraphQL command to request 'protocol state' for a particular block #15893
  • Reduce duplicated snark work across the network with 'random offset' mode #15981

To use this option, add --work-selection roffset to the snark worker daemon command.
In the new option, the worker computes a random number, and fetch work sequentially starting from this index in the list of required work. This methods is expected to reduce wasted work and preserving throughput compared to random, but does not guarantee the priority of work production. The optimal approach for someone running several workers is to run a few worker with the sequential method, to ensure the priority work is ready, and the rest of the worker with the random offset selection to reduce wasted work and improve throughput.

Bug Fixes

  • Fix epochDelegateAccount GraphQL command #15949

Improvements

  • Speed up processing of slow transactions by ~20% #15978 / #15979
  • Security upgrade to arkworks 0.4.2 #15940
  • Rosetta available as its own debian package #15897
  • Full support of the nix build system #15848

Complete Changelog since 3.0.1:

3.0.1...3.0.2-beta1

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

Debian 10 is no longer a supported operating system and as such is not tested as part of our release process. We recommend that users upgrade to a more recent supported operating system.


Upgrading & Connecting to Mainnet

Debian Packages:

Debian Repository: First, set up and update the beta 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) beta" | sudo tee /etc/apt/sources.list.d/mina-beta.list
sudo apt-get update

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

Mina Daemon: sudo apt-get install --allow-downgrades -y mina-mainnet=3.0.2-beta1-9ef74da

Mina Archive: sudo apt-get install --allow-downgrades -y mina-archive=3.0.2-beta1-9ef74da

Mina Archive Schema: create_schema.sql

Config File: var/lib/coda/config_9ef74da5.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 or bullseye to select the base docker image.

Mina Daemon: gcr.io/o1labs-192920/mina-daemon:3.0.2-beta1-9ef74da-CODENAME-mainnet

Mina Archive: gcr.io/o1labs-192920/mina-archive:3.0.2-beta1-9ef74da-CODENAME

Mina Rosetta: gcr.io/o1labs-192920/mina-rosetta:3.0.2-beta1-9ef74da-CODENAME-mainnet

Step by Step Guide:

Docker only Make sure to run with:

--peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt or add PEER_LIST_URL=https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt to your .mina-env.

Run mina daemon with:

mina daemon --peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.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:    9ef74da5401802b4181b21418f38f2405ccb409b

Devnet Pre-Release 3.0.2-alpha1

02 Oct 15:35
3a00659
Compare
Choose a tag to compare
Pre-release

The o1Labs team is proud to announce that 3.0.2-alpha1 is ready to test on Devnet! This release includes a set of important bug fixes, improvements as well as code cleanup & CI improvements.

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

What has changed

New Features

  • #16000 - Expose raw binary account contents from GraphQL
  • #15987 - Expose ledger membership proofs from GraphQL for ultra-lite clients / wallets
  • #15893 - GraphQL command to request 'protocol state' for a particular block
  • #15981 - Reduce duplicated snark work across the network with 'random offset' mode

Bug Fixes

  • #15949 - Fix epochDelegateAccount GraphQL command

Improvements

  • #15978 / #15979 - Speed up processing of slow transactions by ~20%
  • #15940 - Security upgrade to arkworks 0.4.2
  • #15897 - Rosetta available as its own debian package
  • #15848 - Full support of the nix build system

Complete Changelog since 3.0.1:

3.0.1...3.0.2-alpha1

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

Debian 10 is no longer a supported operating system and as such is not tested as part of our release process. We recommend that users upgrade to a more recent supported operating system.


Upgrading & Connecting to Devnet

Debian Packages:

Debian Repository: First, set up and update the alpha 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) alpha" | sudo tee /etc/apt/sources.list.d/mina-alpha.list
sudo apt-get update

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

Mina Daemon: sudo apt-get install --allow-downgrades -y mina-devnet=3.0.2-alpha1-3a00659

Mina Archive: sudo apt-get install --allow-downgrades -y mina-archive=3.0.2-alpha1-3a00659

Mina Archive Schema: create_schema.sql

Config File: var/lib/coda/config_3a00659d.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 or bullseye to select the base docker image.

Mina Daemon: gcr.io/o1labs-192920/mina-daemon:3.0.2-alpha1-3a00659-CODENAME-devnet

Mina Archive: gcr.io/o1labs-192920/mina-archive:3.0.2-alpha1-3a00659-CODENAME

Mina Rosetta: gcr.io/o1labs-192920/mina-rosetta:3.0.2-alpha1-3a00659-CODENAME-devnet

Step by Step Guide:

Docker only Make sure to run with:

  • -peer-list-url https://storage.googleapis.com/o1labs-gitops-infrastructure/devnet/seed-list-devnet.txt or add PEER_LIST_URL=https://storage.googleapis.com/o1labs-gitops-infrastructure/devnet/seed-list-devnet.txt to your .mina-env.

Run mina daemon with:

mina daemon --peer-list-url https://storage.googleapis.com/o1labs-gitops-infrastructure/devnet/seed-list-devnet.txt

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

If you are running the correct version on the correct network DEVNETmina client status will show:

Chain id:     29936104443aaf264a7f0192ac64b1c7173198c1ed404c1bcff5e562e05eb7f6
Git SHA-1:    3a00659ddc9ed05895e7fbb8db95ac3b6aa7caa1

Mainnet Stable Release 3.0.1

12 Sep 20:26
4e62fc2
Compare
Choose a tag to compare

The o1Labs team is proud to announce that 3.0.1 is ready for Mainnet! This release includes a set of important bugfixes, improvements as well as code cleanup & CI improvements.

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

What changed

Bug Fixes

  • Allow resending local txns #15719
  • Ignore old, deprecated fields in rosetta transactions #15718

Improvements

  • Move wire check to the tx validation logic #15813
  • [Rosetta] Refactor indexer SQL queries #15780

Complete Changelog since 3.0.0:

3.0.0...3.0.1

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

Debian 10 is no longer a supported operating system and as such is not tested as part of our release process.
We recommend that users upgrade to a more recent supported operating system.


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=3.0.1-4e62fc2
Mina Archive: sudo apt-get install --allow-downgrades -y mina-archive=3.0.1-4e62fc2
Mina Archive Schema: create_schema.sql
Config File: var/lib/coda/config_4e62fc20.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 or bullseye to select the base docker image.

Mina Daemon: minaprotocol/mina-daemon:3.0.1-4e62fc2-CODENAME-mainnet
Mina Archive: minaprotocol/mina-archive:3.0.1-4e62fc2-CODENAME
Mina Rosetta: minaprotocol/mina-rosetta:3.0.1-4e62fc2-CODENAME-mainnet

Step by Step Guide:

Docker only Make sure to run with:
--peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt or add PEER_LIST_URL=https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt to your .mina-env.

Run mina daemon with:
mina daemon --peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.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:    4e62fc20520b083eff06bc6d5c60579fa88bf4ff

Mina Mainnet Beta Release 3.0.1-beta1

26 Aug 18:21
a29d1a0
Compare
Choose a tag to compare
Pre-release

The o1Labs team is proud to announce that 3.0.1-beta1 is ready to test on Mainnet! This release includes a set of important bugfixes, improvements as well as code cleanup & CI improvements.

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

What changed

Bug Fixes

  • Allow resending local txns #13409
  • Ignore old, deprecated fields in rosetta transactions #15718

Improvements

  • Move wire check to the tx validation logic #15813
  • [Rosetta] Refactor indexer SQL queries #15780

Complete Changelog since 3.0.0:

3.0.0...3.0.1-beta1

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

Debian 10 is no longer a supported operating system and as such is not tested as part of our release process.
We recommend that users upgrade to a more recent supported operating system.


Upgrading & Connecting to Mainnet

Debian Packages:

Debian Repository:
First, set up and update the beta 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) beta" | sudo tee /etc/apt/sources.list.d/mina-beta.list
sudo apt-get update

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

Mina Daemon: sudo apt-get install --allow-downgrades -y mina-mainnet=3.0.1-beta1-a29d1a0
Mina Archive: sudo apt-get install --allow-downgrades -y mina-archive=3.0.1-beta1-a29d1a0
Mina Archive Schema: create_schema.sql
Config File: var/lib/coda/config_a29d1a0d.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 or bullseye to select the base docker image.

Mina Daemon: gcr.io/o1labs-192920/mina-daemon:3.0.1-beta1-a29d1a0-CODENAME-mainnet
Mina Archive: gcr.io/o1labs-192920/mina-archive:3.0.1-beta1-a29d1a0-CODENAME
Mina Rosetta: gcr.io/o1labs-192920/mina-rosetta:3.0.1-beta1-a29d1a0-CODENAME-mainnet

Step by Step Guide:

Docker only Make sure to run with:
--peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt or add PEER_LIST_URL=https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt to your .mina-env.

Run mina daemon with:
mina daemon --peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.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:    a29d1a0dc6bd520c5f1ff6cf917d25e76fbe2eb1

Devnet Pre-Release 3.0.1-alpha1

29 Jul 17:00
Compare
Choose a tag to compare
Pre-release

The o1Labs team is proud to announce that 3.0.1-alpha1 is ready to test on Devnet! This release includes a set of important bugfixes, improvements as well as code cleanup & CI improvements.

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

What changed

Bug Fixes

  • Allow resending local txns #13409
  • Ignore old, deprecated fields in rosetta transactions #15718

Improvements

  • Move wire check to the tx validation logic #15813
  • [Rosetta] Refactor indexer SQL queries #15780

Complete Changelog since 3.0.0:

3.0.0...3.0.1-alpha1

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

Debian 10 is no longer a supported operating system and as such is not tested as part of our release process.
We recommend that users upgrade to a more recent supported operating system.


Upgrading & Connecting to Devnet

Note - if you encounter the following error when launching one of the debian packages:
"Could not find a ledger tar file for hash 'jy1wjiJgTkzXr7yL8r5x4ikaNJuikibsRMnkjdH6uqGCsDmR2sf'"

Please run the following command to manually download the ledger, this is a one time operation.
curl --fail --silent --show-error -o /tmp/s3_cache_dir/genesis_ledger_7f8e3c72be57f296e86e1083379c7a09c6131b1567510cf0019eb4aff8b87813.tar.gz https://s3-us-west-2.amazonaws.com/snark-keys-ro.o1test.net/genesis_ledger_7f8e3c72be57f296e86e1083379c7a09c6131b1567510cf0019eb4aff8b87813.tar.gz

Debian Packages:

Debian Repository:
First, set up and update the alpha 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) alpha" | sudo tee /etc/apt/sources.list.d/mina-alpha.list
sudo apt-get update

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

Mina Daemon: sudo apt-get install --allow-downgrades -y mina-devnet=3.0.1-alpha1-0473756
Mina Archive: sudo apt-get install --allow-downgrades -y mina-archive=3.0.1-alpha1-0473756
Mina Archive Schema: create_schema.sql
Config File: var/lib/coda/config_04737568.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 or bullseye to select the base docker image.

Mina Daemon: gcr.io/o1labs-192920/mina-daemon:3.0.1-alpha1-0473756-CODENAME-devnet
Mina Archive: gcr.io/o1labs-192920/mina-archive:3.0.1-alpha1-0473756-CODENAME
Mina Rosetta: gcr.io/o1labs-192920/mina-rosetta:3.0.1-alpha1-1df449c-focal-devnet

Step by Step Guide:

Docker only Make sure to run with:
--peer-list-url https://storage.googleapis.com/o1labs-gitops-infrastructure/devnet/seed-list-devnet.txt or add PEER_LIST_URL=https://storage.googleapis.com/o1labs-gitops-infrastructure/devnet/seed-list-devnet.txt to your .mina-env.

Run mina daemon with:
mina daemon --peer-list-url https://storage.googleapis.com/o1labs-gitops-infrastructure/devnet/seed-list-devnet.txt

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

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

Chain id:     29936104443aaf264a7f0192ac64b1c7173198c1ed404c1bcff5e562e05eb7f6
Git SHA-1:    047375688f93546d4bdd58c75674394e3faae1f4

Mina Mainnet 3.0.0 Berkeley Release

04 Jun 19:14
93e0279
Compare
Choose a tag to compare

The o1Labs team is proud to announce that the 3.0.0 Berkeley Release is now ready and available for Mainnet!

This release represents the final stage in the Mainnet upgrade process which concludes the execution of the upgrade mechanism. This release brings zk programmability to the new upgraded network, which will unlock developers to build zk smart contracts, zkApps, layer 2 solutions and bridges, and more!

🚨 This is mandatory and without it you will no longer be able to interact with the Mina network from June 5th 2024. 🚨

Complete Changelog since 2.0.0.

This Berkeley release will also include the 3 Mina Improvement Proposals that were proposed and voted on by the Mina community. MIP1 (zkApp programmability), MIP3 (improved Kimchi proof system), and MIP4 (removal of supercharged rewards).


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

Installation

If you have mina-generate-keypair installed, you will need to first run sudo apt remove mina-generate-keypair before installing mina-mainnet=3.0.0-93e0279. The mina-generate-keypair binary is now installed as part of the mina-mainnet package.

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
sudo 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=3.0.0-93e0279
Mina Archive sudo apt-get install --allow-downgrades -y mina-archive=3.0.0-93e0279
Mina Archive Schema
create_schema.sql
zkapp_tables.sql
Config File: var/lib/coda/config_93e02797.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, buster, or bullseye to select the base docker image.

Mina Daemon minaprotocol/mina-daemon:3.0.0-93e0279-CODENAME-mainnet
Mina Archive minaprotocol/mina-archive:3.0.0-93e0279-CODENAME
Mina Archive Schema
create_schema.sql
zkapp_tables.sql
Mina Rosetta minaprotocol/mina-rosetta:3.0.0-93e0279-CODENAME

Step by Step Guides


Upgrade Package verification

Documentation
https://github.com/MinaProtocol/mina/blob/berkeley/docs/upgrading-to-berkeley.md

Further usage details are documented inside the script itself as its help message: https://github.com/MinaProtocol/mina/blob/berkeley/scripts/mina-verify-packaged-fork-config

You can find the fork config from the pre-upgrade Mainnet here

Mina Archive Node

  1. Start the archive node using the migrated DB. You can migrate your database as instructed in this guide using the migration tool.

  2. Alternatively you can import the migrated db dump from here.

Mina Daemon

Nodes will remain in Bootstrap status until such a point as block production begins at 00:00UTC on June 5th.
During this period of no block production, nodes will automatically terminate after 25 minutes, this is expected behavior. Ensure you have configured your nodes to auto-restart on crash to have them automatically try and reconnect (for Docker).

  • Run mina daemon with:
    --peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt

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

Chain id:     a7351abc7ddf2ea92d1b38cc8e636c271c1dfd2c081c637f62ebc2af34eb7cc1
Git SHA-1:    93e02797f72abe2cbf8dfca6f2328e9c8cd76546

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


SDK Tooling

If you are new to the world of Berkeley & indeed zkApps we strongly encourage you to check it out!
The new Berkeley era allows compatibility with the mina network and our extensive suite of SDK tooling that allows anyone to write smart contracts utilising zero knowledge proofs!

Start here zkApps Overview and let us know what you think!

Useful links

Mainnet Stable Stop Slot Release 2.0.0

21 May 12:28
039296a
Compare
Choose a tag to compare

This release is the first phase of the Mina Mainnet upgrade that specifies the stop slots in the codebase that formally begins the upgrade process.


Node operators MUST upgrade to this version as soon as possible, starting immediately and before 27 May, 2024 to ensure we have a maximum percentage of stake running on this new version to successfully continue with the planned upgrade.

It is crucial for block producers to continue running their nodes with version 2.0.0 until the stop network slot is reached so that the network reaches consensus on which block to upgrade from. The team at o1Labs will also be collecting network data from these nodes for the post-upgrade release build.


This release will set the stage for the upcoming mainnet upgrade by defining the stop slots in the codebase. This stop slot will take effect in just 2 weeks on upgrade day: June 4th, 2024, and thereby kicking off the upgrade process.

Stop Transaction Slot: At Tue Jun 4 9:00 UTC, this slot will be initiated. Blocks produced by upgraded stakeholders will be empty, and no transactions will be accepted.

Stop Network Slot: 5 hours after the stop-transaction-slot, nodes in the Mina network will stop creating new blocks, marking a pause in block production. This is intentional and necessary for the upgrade to occur smoothly.

For more information regading these milestones please see our high level plan here

After these two important stop slots, we’ll publish the post-upgrade Berkeley package. We’ll be working very closely with the community and the archive node operators during this time to migrate data from the network and validate the ledger state.


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

Complete Changelog since 1.4.1:

1.4.1...2.0.0

Connecting to the Mainnet network

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
sudo 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=2.0.0-039296a

Mina Archive:
sudo apt-get install --allow-downgrades -y mina-archive=2.0.0-039296a

Mina Archive Schema: create_schema.sql
Config File: var/lib/coda/config_039296a2.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, buster, or bullseye to select the base docker image.

Mina Daemon: minaprotocol/mina-daemon:2.0.0-039296a-CODENAME-mainnet
Mina Archive: minaprotocol/mina-archive:2.0.0-039296a-CODENAME
Mina Archive Schema: create_schema.sql
Mina Rosetta: minaprotocol/mina-rosetta:2.0.0-039296a-focal

Step by Step Guide:

Run mina daemon with the following seed list parameter:
--peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt

If you are running the correct version on the correct network, mainnet will show:

Chain id:     5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
Git SHA-1:    039296a260080ed02d0d0750d185921f030b6c9c

Optional: For this release we have temporarily enabled node status tracking by default to help us track successful upgrade progress. This behaviour can be turned off by starting the node using the --disable-node-status flag.

Mina Mainnet Beta 2.0.0 Stop Slot Release

17 May 18:20
039296a
Compare
Choose a tag to compare

Mina Mainnet Beta 2.0.0 Stop Slot Release

This release is the beta phase of the Mina Mainnet upgrade that specifies the stop slot in the codebase that formally begins the upgrade process. This build is intended for use by experienced community members to test with prior to promoting it to a full stable release very soon. While this has been extensively tested; we promote transparency and always welcome feedback.

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

This release is a beta version of the release that will set the stage for the upcoming mainnet upgrade by defining the stop slots in the codebase. This stop slot will take effect in just 2 weeks on upgrade day: June 4th, 2024, and thereby kicking off the upgrade process.

Stop Transaction Slot: At Hour 0, this slot will be initiated. Blocks produced by upgraded stakeholders will be empty, and no transactions will be allowed.

Stop Network Slot: 5 hours after the stop-transaction-slot, nodes in the Mina network will stop creating new blocks, marking a pause in block production. This is intentional and necessary for the upgrade to occur smoothly.

After these two important stop slots, we’ll publish the post-upgrade Berkeley package. We’ll be working very closely with the community and the archive node operators during this time to migrate data from the network and validate the ledger state.


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

Complete Changelog since 1.4.1:

1.4.1...2.0.0beta1

Connecting to the Mainnet network

Debian Packages:

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

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

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

Mina Daemon:
sudo apt-get install --allow-downgrades -y mina-mainnet=2.0.0beta1-039296a

Mina Archive:
sudo apt-get install --allow-downgrades -y mina-archive=2.0.0beta1-039296a

Mina Archive Schema: create_schema.sql
Config File: var/lib/coda/config_039296a2.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, buster, or bullseye to select the base docker image.

Mina Daemon: gcr.io/o1labs-192920/mina-daemon:2.0.0beta1-039296a-CODENAME-mainnet
Mina Archive: gcr.io/o1labs-192920/mina-archive:2.0.0beta1-039296a-CODENAME
Mina Archive Schema: create_schema.sql
Mina Rosetta: gcr.io/o1labs-192920/mina-rosetta:2.0.0beta1-039296a-focal

Step by Step Guide:

Run mina daemon with the following seed list parameter:
--peer-list-url https://bootnodes.minaprotocol.com/networks/mainnet.txt

If you are running the correct version on the correct network, mainnet will show:

Chain id:     5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
Git SHA-1:    039296a260080ed02d0d0750d185921f030b6c9c

Mina 3.0.1 Upgrade Migration Tooling

01 May 17:52
e848ecb
Compare
Choose a tag to compare
Pre-release

The o1Labs team is excited to announce the stable release of our archive migration tooling to better facilitate the migration of the Mina Archive Node database to the Berkeley era! The release contains several fixes around the stability and usability of the migration tools and processes which were reported during our devnet upgrade process as well as from the alpha release. This will allow archive node operators to incrementally migrate their database in a timely manner prior to the Berkeley upgrade taking place.

The tools included are:

  1. mina-archive-maintenance: A tool to verify that the archive database is correct and up-to-date. If the database is missing blocks, then the tool patches using blocks exported as json files by mina daemon. Users can also find these blocks in gs://mina_network_block_data location. Please refer here for documentation on this tool.

  2. mina-berkeley-migration-script: This script uses multiple tools to migrate and verify the migrated database. For documentation on how to use the tooling, either the top-level simplified script or understanding the individual components, please refer to the draft documentation or abbreviated reference information.

Installation

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

Note - in order to install mina-archive-migration you will need to install google-cloud-sdk as a prerequisite.

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
sudo 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 Migration Tooling: sudo apt-get install --allow-downgrades -y mina-archive-migration=3.0.1-e848ecb
Mina Archive Maintenance Tooling: sudo apt-get install --allow-downgrades -y mina-archive-maintenance=1.4.1-060f0a5
Mina Berkeley Archive Schema: create_schema.sql and zkapp_tables.sql (both needed)

Docker Images:

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

Mina Archive Migration Tooling: gcr.io/o1labs-192920/mina-archive-migration:3.0.1-e848ecb-CODENAME
Mina Archive Maintenance Tooling: gcr.io/o1labs-192920/mina-archive-maintenance:1.4.1-060f0a5-CODENAME
Mina Berkeley Archive Schema: create_schema.sql and zkapp_tables.sql (both needed)

Step By Step Guide for Testing Migration

The migration documentation has a worked example that walks through two phases of the process, for a shortened version of the full process. To understand the full three-phase process, see the docs.

Mina Devnet 3.0.0 Upgrade Release

09 Apr 20:22
dc6bf78
Compare
Choose a tag to compare
Pre-release

❗ This release is only to be used as part of the Devnet upgrade process ❗


This release represents the final stage in the Devnet upgrade process which concludes the execution of the upgrade mechanism. This release marks a new upgraded network with all of the Berkeley functionality that will feature on Mainnet when subsequently upgraded. This version of the daemon is not compatible with the previous builds and as such it is necessary to either install this on a clean system or to remove the previous builds and artifacts. The steps on how to do this are contained within the release notes.


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

Removing previous builds

mina client stop
sudo apt remove mina-devnet=1.5.0devnet-stop-slot-c18c750 
sudo mv /tmp/coda_cache_dir /tmp/coda_cache_dir_bak
sudo mv $HOME/.mina-config $HOME/.mina-config_bak   

Connecting to the Devnet network

Debian Packages

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

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

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

Mina Daemon
sudo apt-get install --allow-downgrades -y mina-devnet=3.0.0
sudo apt-mark hold mina-devnet=3.0.0
Mina Archive
sudo apt-get install --allow-downgrades -y mina-archive=3.0.0
sudo apt-mark hold mina-archive=3.0.0

Mina Archive Schema
create_schema.sql
zkapp_tables.sql
Config File: var/lib/coda/config_dc6bf78b.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, buster, or bullseye to select the base docker image.

Mina Daemon gcr.io/o1labs-192920/mina-daemon:3.0.0-dc6bf78-CODENAME-devnet
Mina Archive gcr.io/o1labs-192920/mina-archive:3.0.0-dc6bf78-CODENAME
Mina Archive Schema
create_schema.sql
zkapp_tables.sql
Mina Rosetta gcr.io/o1labs-192920/mina-rosetta:3.0.0-fbe1a6d-<CODENAME>

Step by Step Guides


Upgrade Package verification

Documentation
https://github.com/MinaProtocol/mina/blob/berkeley/docs/upgrading-to-berkeley.md

Further usage details are documented inside the script itself as its help message: https://github.com/MinaProtocol/mina/blob/berkeley/scripts/mina-verify-packaged-fork-config

You can find the fork config from the pre-upgrade Devnet here

In this release, the fork_config GraphQL endpoint does not automatically determine the correct block to fork from. As such, you will need to manually specify the block for the devnet hardfork when executing the GraphQL fork_config query.
The block that we hardfork from is always the latest block in the chain immediately prior to the transaction stop slot. In this case, the devnet transaction stop slot is set to 445620, so the correct fork block is the latest block in the chain where the globalSlotSinceGenesis < 445620. So the correct fork block to use here has the following properties:

{
  "state_hash": "3NKSvjaGSKiQuAt8BP1b1VCpLbJc9RcEFjYCaBYsJJFdrtd6tpaV",
  "blockchain_length": 296371,
  "global_slot_since_genesis": 445619
}
You can check this information by issuing the following GraphQL query and then searching through the blocks returned for the latest block where globalSlotSinceGenesis < 445620.
query MyQuery {
  bestChain {
    protocolState {
      consensusState {
        blockHeight
        slotSinceGenesis
      }
    }
    stateHash
  }
}

To query the correct fork config from GraphQL, you can specify the block height of this fork block as shown in the following query:

query MyQuery {
  fork_config(height: 296371)
}

Mina Archive Node

  1. Start the archive node using the migrated DB. You can migrate your database as instructed in this guide using the migration tool.

  2. Alternatively you can import the migrated db dump from here

Mina Daemon

This version connects and functions only on the Mina Devnet Network.

  1. If you don't already have one, create a libp2p key pair and persist it.
    mina libp2p generate-keypair -privkey-path <path-to-the-key-file>
  2. Set the environment variable MINA_LIBP2P_PASS with the password set for the libp2p key pair in the previous step.
  3. Run mina daemon with:
    -libp2p-keypair <path-to-the-key-file> and --peer-list-url https://storage.googleapis.com/o1labs-gitops-infrastructure/devnet/seed-list-devnet.txt

If you are running the correct version on the correct network (i.e. devnet), mina client status will show:

Chain id:     29936104443aaf264a7f0192ac64b1c7173198c1ed404c1bcff5e562e05eb7f6
Git SHA-1:    dc6bf78b8ddbbca3a1a248971b76af1514bf05aa

SDK Tooling

If you are new to the world of Berkeley & indeed zkApps we strongly encourage you to check it out!
The new Berkeley era allows compatibility with the mina network and our extensive suite of SDK tooling that allows anyone to write smart contracts utilising zero knowledge proofs!

Start here zkApps Overview and let us know what you think!

Useful links