Skip to content

Instantly share code, notes, and snippets.

@amc-ie
Last active May 7, 2024 19:18
Show Gist options
  • Save amc-ie/2840b8d976d13e4a90813b7bd5135268 to your computer and use it in GitHub Desktop.
Save amc-ie/2840b8d976d13e4a90813b7bd5135268 to your computer and use it in GitHub Desktop.
Mina Mainnet 3.0.0 Short Epoch Upgrade Release

Mina Mainnet 3.0.0 Short Epoch Upgrade Release


This release represents the final stage in the Mainnet upgrade process which concludes the execution of the upgrade mechanism. This release marks a new upgraded network with all of the new and exciting Berkeley functionality!


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

Installation

Debian Packages

Debian Repository: First, set up and update the umt-mainnet 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) umt-mainnet" | sudo tee /etc/apt/sources.list.d/mina-umt.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-0fe9bfc
Mina Archive sudo apt-get install --allow-downgrades -y mina-archive=3.0.0-0fe9bfc
Mina Archive Schema create_schema.sql zkapp_tables.sql
Config File: var/lib/coda/config_0fe9bfc4.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-0fe9bfc-CODENAME-mainnet
Mina Archive gcr.io/o1labs-192920/mina-archive:3.0.0-0fe9bfc-CODENAME
Mina Archive Schema create_schema.sql zkapp_tables.sql
Mina Rosetta gcr.io/o1labs-192920/mina-rosetta:3.0.0-0fe9bfc-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 network 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

  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/short-epoch-post-fork/seed-list.txt

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

Chain id:     52e49dabe70c0c50b89e2d965167649329066f43c6ecdcf7eaaee1af9615dbfb
Git SHA-1:    0fe9bfc40788ba740411f672630f43a73959c2b3

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment