Skip to content

Releases: MinaProtocol/mina

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

Mina Devnet 1.5.0 Stop Slot Release

03 Apr 22:54
c18c750
Compare
Choose a tag to compare
Pre-release

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


This release is the first phase of the Devnet upgrade that specifies the stop slot in the codebase that formally begins the process.
This is the first stage in the upgrade process; while a subsequent devnet release will usher in the start of the new Devnet and as such the new era of Berkeley functionality on our Devnet! The stop slot will take effect at 09:00 UTC on April 9th 2024, please upgrade your devnet nodes before this time!

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


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

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=1.5.0devnet-stop-slot-c18c750
sudo apt-mark hold mina-devnet=1.5.0devnet-stop-slot-c18c750
Mina Archive:
sudo apt-get install --allow-downgrades -y mina-archive=1.5.0devnet-stop-slot-c18c750
sudo apt-mark hold mina-archive=1.5.0devnet-stop-slot-c18c750
Mina Archive Schema: create_schema.sql
Config File: var/lib/coda/config_c18c750a.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:1.5.0devnet-stop-slot-c18c750-CODENAME-devnet
Mina Archive: gcr.io/o1labs-192920/mina-archive:1.5.0devnet-stop-slot-c18c750-CODENAME
Mina Archive Schema: create_schema.sql
Mina Rosetta: gcr.io/o1labs-192920/mina-rosetta:1.5.0devnet-stop-slot-c18c750-focal

Step by Step Guide:

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

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

Chain id:     b6ee40d336f4cc3f33c1cc04dee7618eb8e556664c2b2d82ad4676b512a82418
Git SHA-1:    c18c750a76a66da9b57587f2cc77b9d996eb76cd

Mina Devnet Upgrade Migration Tooling

03 Apr 00:55
6e92017
Compare
Choose a tag to compare
Pre-release

❗ This tooling release is only for the Mina Devnet Upgrade ❗

The O(1) Labs team is excited to announce the release of the tools required to migrate Devnet archive database! The release will enable archive node operators on Devnet to incrementally migrate their database before the Berkeley Upgrade on Devnet.

The new tools included are:

  1. mina-archive-maintenance: A tool to verify that the devnet 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 devnet database and verify the migrated database. For documentation on how to use the tooling, either the toplevel simplified script or understanding the individual components, please refer to the draft documentation or abbreviated reference information.

Installation

Note - it is recommended to use a clean machine/VM for this testing with no other installed mina instances, until the final devnet hardfork build is prepared.

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 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 Migration Tooling: sudo apt-get install --allow-downgrades -y mina-archive-migration=3.0.0devnet-tooling-6e92017
Mina Archive Maintenance Tooling: sudo apt-get install --allow-downgrades -y mina-archive-maintenance=1.4.0beta2-compatible-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.0devnet-tooling-6e92017-CODENAME
Mina Archive Maintenance Tooling: gcr.io/o1labs-192920/mina-archive-maintenance:1.4.0beta2-compatible-060f0a5-CODENAME
Mina Berkeley Archive Schema: create_schema.sql and zkapp_tables.sql (both needed)

Testing Information

The Devnet canonical-only migration and replay verification process downloads around 80GB and takes from a few hours (local PostgreSQL and all blocks downloaded over gigabit using SSD) to over a week (50ms ping to PostgreSQL).

The Mainnet canonical-only migration and replay verification process downloads 240GB and takes between 14 hours (local PostgreSQL and all blocks downloaded over gigabit using SSD) and 20-30 days (50ms ping to PostgreSQL).

For this tooling release, all the same documentation as usual for connecting to devnet applies:

https://docs.minaprotocol.com/node-operators/connecting-to-devnet

However, a new requirement for the migration is enough disk space to store the entire chain history in a bloated JSON format. Yeah, a full node can sync without downloading it, but we can't trustlessly perform data migration on data we don't have :think-about-it:

If you are short on disk space and high on patience, the mina-berkeley-migration-script --delete-blocks switch is your friend. If you want the process to avoid alternating between download and migrating, the mina-berkeley-migration-script --prefetch-blocks switch is also your friend and will do the download up-front, at the expense of disk space but lets you rerun at any time.

A bundle of some testing blocks is available at gs://mina_network_block_data/devnet-bundle-3NKRsRWBzmPR8Z8ZmJb4u8FLpnSkjRitUpKZzVkHp11QuwP5i839.tar.gz. Downloading and extracting this will take around half the time as prefetching or streaming the blocks. It is 50GB and unpacks to around 80GB.

The recommended testing configuration if you wish to migrate with live data is to use one container/environment with the SQL server and migration tools, and another that has the daemon/archive node. Using a high-latency PostgreSQL server distantly connected via network can extend the process from 12-18 hours into several days. Multiply your ping time to the server by at least 10 million or so to estimate the total migration time.

If you would like to test the tools without bothering with a node, O(1) is providing a fork configuration from 2024-03-25.

If you do already have a devnet node, when you are ready to perform a final migration with the mina-berkeley-migration-script, connect to your 1.4.1 node. Export a state dump for the current best tip:

curl --location "http://localhost:3085/graphql" \
  --header "Content-Type: application/json" \
  --data "{\"query\":\"query MyQuery {\n  fork_config\n}\n\",\"variables\":{}}" | jq '.data.fork_config' > best_tip_state_dump.json

The daemon will complain (probably into the file) if it is not yet Synced, and the devnet is known to have bad bootstrap performance (one of many reasons to hardfork). So be careful, best_tip_state_dump.json might actually be an error message.

mina-create-genesis --config-file best_tip_state_dump.json --genesis-dir new-devnet-ledgers --hash-output-file hashes.json
# adjusts data format compatibility between major versions
sed -i -e 's/"set_verification_key": "signature"/"set_verification_key": {"auth": "signature", "txn_version": "2"}/' best_tip_state_dump.json
FORK_CONFIG_JSON=best_tip_state_dump.json LEDGER_HASHES_JSON=hashes.json GENESIS_TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%SZ" -d "10 mins") mina-hf-create-runtime-config > genesis_config.json

This genesis_config.json can be used to start a new isolated devnet fork, for testing.

Step By Step Guide for Testing Devnet 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 Riddle

These notes are longer than usual and you deserve some entertainment. Noone on the team was prepared for this.

In the realm of our code, a curious tale unfurls,
With "buggy validations" and glitches that gave us whirls.
Processes failed, though all seemed right,
Yet it brought us laughter and sheer delight.
Can you fathom why, with mind's bright light,
why mainnet block 241082 brought us relief, a moment so right?

Mainnet Stable Release 1.4.1

15 Mar 12:27
Compare
Choose a tag to compare

The O(1) Labs team is proud to announce that 1.4.1 stable is now ready to run on Mainnet! This release includes a set of important bugfixes, improvements as well as code cleanup. This release contains all of of the fixes and improvements prior to the Berkeley Upgrade and users are strongly recommended to upgrade to this latest version before the upgrade commences.

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

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

What changed

Bug Fixes

  • Disable snark pool persistence and additional daemon performance fixes due to snark pool #13409
  • Fix for long async cycles impacting block production performance #13654
  • Fix for when a slot to start replaying from doesn’t have a block #13765
  • Replayer app fixes: #13401 #13600
  • Archive node: record correct intermediate nonces inside blocks: #13406

Improvements

  • Add a GraphQL query to generate a config file for a hard fork #13787
  • Support larger ledgers in IPC communication #11973
  • Remove memory stats #12904
  • Remove support for bionic and stretch #13657

Complete Changelog since 1.4.0:

1.4.0...1.4.1

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 -y mina-mainnet=1.4.1-e76fc1c (for devnet builds, replace mainnet with devnet)
Mina Archive: sudo apt-get install -y mina-archive=1.4.1-e76fc1c
New Mina Archive Schema: create_schema.sql
Config File: var/lib/coda/config_e76fc1ca.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:1.4.1-e76fc1c-CODENAME-mainnet (for devnet builds, replace mainnet with devnet)
Mina Archive: minaprotocol/mina-archive:1.4.1-e76fc1c-CODENAME
Mina Archive Schema: create_schema.sql
Mina Rosetta: minaprotocol/mina-rosetta:1.4.1-e76fc1c-CODENAME

Sandbox Node: For testing in an isolated, single-node network without snarks

As of 1.2.0, the demo functionality is built into the standard daemon container, via the environment variable RUN_DEMO=true.
Just docker run -it --name mina-demo -e RUN_DEMO=true minaprotocol/mina-daemon:1.4.1-e76fc1c-CODENAME-mainnet and go!

Step by Step Guide:

Check out our documentation for complete instructions on using this version to connect to Mainnet.
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.

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

Chain id:     5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
Git SHA-1:    e76fc1cad3c47390d71add99dcb550b362a9639b

UMT Upgrade Release

01 Mar 00:14
eb0a6d0
Compare
Choose a tag to compare
UMT Upgrade Release Pre-release
Pre-release

❗ This release is only for UMT testing ❗


This is the final release in the UMT testing phase 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.0.1umt-stop-slot-992168e 
sudo mv /tmp/coda_cache_dir /tmp/coda_cache_dir_bak
sudo mv $HOME/.mina-config $HOME/.mina-config_bak   

Connecting to the UMT network

Debian Packages:

Debian Repository:
First, set up and update the umt 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" | 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-devnet-hardfork=2.0.0umt-hardfork-automation-umt-eb0a6d0
Mina Archive: sudo apt-get install --allow-downgrades -y mina-archive=2.0.0umt-hardfork-automation-umt-eb0a6d0
Mina Archive Schema:
create_schema.sql
zkapp_tables.sql
Config File: var/lib/coda/config_eb0a6d00.json

Ledger Verification Tool

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.0umt-hardfork-automation-umt-eb0a6d0-CODENAME-devnet-hardfork
Mina Archive: gcr.io/o1labs-192920/mina-archive:2.0.0umt-hardfork-automation-umt-eb0a6d0-CODENAME
Mina Archive Schema:
create_schema.sql
zkapp_tables.sql
Mina Rosetta: gcr.io/o1labs-192920/mina-rosetta:2.0.0umt-hardfork-automation-umt-eb0a6d0-CODENAME
Mina Archive Migration Tooling gcr.io/o1labs-192920/mina-archive-berkeley-archive-migration:1.0.0umt-tooling
Mina Archive Migration Documentation https://docs2-git-archivemigration-minadocs.vercel.app/berkeley-upgrade/migrating-archive-database-to-berkeley

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.

State exported off of pre-upgrade network can be found here:
https://storage.googleapis.com/tmp-hardfork-testing/fork-umt-02-29-2024.json.gz

Mina Archive Node

  1. Start the archive node using the migrated DB. You can migrate your database as instructed in the doc https://docs2-git-archivemigration-minadocs.vercel.app/berkeley-upgrade/migrating-archive-database-to-berkeley using the migration tool gcr.io/o1labs-192920/mina-archive-berkeley-archive-migration:1.0.0umt-tooling

  2. Alternatively you can import the migrated db dump from https://storage.googleapis.com/mina-archive-dumps/o1labs-umt-post

Mina Daemon

This version connects and functions only on the UMT testnet.

  1. Create a libp2p key pair for a node the first time 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/o1labs-umt-post-fork-run-1/seeds-o1labs-umt-post-fork-run-1.txt

For more information please refer to the Launching UMT Mina Nodes document provided to those participating in the program.

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

Chain id:     ded2784524f624295e63cede1a4ab9348fbcde7160876c4d55f1481b9d3ef542
Git SHA-1:    eb0a6d00675756972f4f22ecaa10532bae601c59

Stop Slot UMT release

27 Feb 21:06
Compare
Choose a tag to compare
Stop Slot UMT release Pre-release
Pre-release

❗ This release is only for UMT testing ❗


This release is the follow on UMT release that specifies the stop slot in the codebase that formally begins the upgrade process.
This is phase 2 in the 3 phase process; the next and final release will bring the start of the new network and as such the new era of functionality.


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

Connecting to the UMT network

Debian Packages:

Debian Repository:
First, set up and update the umt 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" | 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-devnet=1.0.1umt-stop-slot-992168e
Mina Archive: sudo apt-get install --allow-downgrades -y mina-archive=1.0.1umt-stop-slot-992168e
Mina Archive Schema: create_schema.sql
Config File: var/lib/coda/config_992168e2.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:1.0.1umt-stop-slot-992168e-CODENAME-devnet
Mina Archive: gcr.io/o1labs-192920/mina-archive:1.0.1umt-stop-slot-992168e-CODENAME
Mina Archive Schema: create_schema.sql
Mina Rosetta: gcr.io/o1labs-192920/mina-rosetta:1.0.1umt-stop-slot-992168e-focal
Mina Archive Migration Tooling gcr.io/o1labs-192920/mina-archive-berkeley-archive-migration:1.0.0umt-tooling
Mina Archive Migration Documentation https://docs2-git-archivemigration-minadocs.vercel.app/berkeley-upgrade/migrating-archive-database-to-berkeley

Step by Step Guide:

Run mina daemon with the following seed list parameter:
--peer-list-url https://storage.googleapis.com/o1labs-gitops-infrastructure/o1labs-umt-pre-fork-run-1/seed-list-o1labs-umt-pre-fork-run-1.txt

For more information please refer to the Launching UMT Mina Nodes document provided to those participating in the program.

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

Chain id:     100ef4660dd2f1dc184e5730cc21f5ecfbe2f7b24af237fe049ca425cea6633e
Git SHA-1:    992168e2bfad30ece4358110c695f43fe9b5ebc0

Pre-upgrade UMT release

23 Feb 20:00
2025a73
Compare
Choose a tag to compare
Pre-release

❗ This release is only for UMT testing ❗


Note - it is recommended to use a clean machine/VM for this testing with no other installed mina instances

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

Connecting to the UMT network

Debian Packages:

Debian Repository:
First, set up and update the umt 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" | 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-devnet=1.0.0umt-2025a73
Mina Archive: sudo apt-get install --allow-downgrades -y mina-archive=1.0.0umt-2025a73
Mina Archive Schema: create_schema.sql
Config File: var/lib/coda/config_2025a732.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:1.0.0umt-2025a73-CODENAME-devnet
Mina Archive: gcr.io/o1labs-192920/mina-archive:1.0.0umt-2025a73-CODENAME
Mina Archive Schema: create_schema.sql
Mina Rosetta: gcr.io/o1labs-192920/mina-rosetta:1.0.0umt-2025a73-focal

Step by Step Guide:

Run mina daemon with the following seed list parameter:
--peer-list-url https://storage.googleapis.com/o1labs-gitops-infrastructure/o1labs-umt-pre-fork-run-1/seed-list-o1labs-umt-pre-fork-run-1.txt

For more information please refer to the Launching UMT Mina Nodes document provided to those participating in the program.

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

Chain id:     100ef4660dd2f1dc184e5730cc21f5ecfbe2f7b24af237fe049ca425cea6633e
Git SHA-1:    2025a732df43c6735a576aff907252f74cf2ef35

Berkeley RC1

03 Feb 00:40
Compare
Choose a tag to compare
Berkeley RC1 Pre-release
Pre-release

Mina's ecosystem partner, O(1) Labs, is continuously working on improvements to the core protocol and today we are excited to announce a brand new Berkely release candidate 1551e2f that is ready to test on the new and updated Berkeley Testnet!

Please report any issues in the comments on this post or tag any issues you create with 2.0.0berkeley_rc1 and include 2.0.0berkeley_rc1 in the issue title.

What changed

This release is the culmination of numerous fixes and additions developed during our previous TestWorld initiative including new features, RFCs, tests, bug fixes and significant performance enhancements. All of the fixes and improvements from the earlier rampup releases are also included in this release.

  • Stop txn/network after slot feature #14773
  • Don’t timeout if offline or bootstrapping before genesis #14328
  • Batch to_verifiable ledger operations, and fix caching logic #14356
  • Fix protocol version UNIQUE constraint #14363
  • Hard fork protocol version is 2.0 #14416
  • Let discovery step try connections in parallel #14395
  • Feature/verification key update txn version #14407
  • Rename previous_global_slot to genesis_slot in fork config #14271
  • GraphQL change- use explict field to differentiate slot_since_genesis slot_since_hard_fork #14569
  • Configure chain quality grace period for berkeley release #14776
  • Option to limit zkApp Commands Hardcap (Not enabled) #14813
  • Disable zkapp commands implementation (Not enabled) #14880
  • Integrity verification for S3 retrievals #14973

Complete CHANGELOG since 56fa1db in:

GitHub Compare: 56fa1db...1551e2f

O1JS CHANGELOG

https://github.com/o1-labs/o1js/blob/main/CHANGELOG.md

Installation

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

Upgrading and Connecting to Berkeley

Debian Packages

First, set up and update the berkeley Debian Repository for your platform.

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

Then, install the package or packages that you need:

  • Mina Daemon sudo apt-get install -y mina-berkeley=2.0.0berkeley-rc1-1551e2f
  • Mina Archive sudo apt-get install -y mina-archive=2.0.0berkeley-rc1-1551e2f
  • zkApps Test Transaction CLI sudo apt-get install -y mina-zkapp-test-transaction=2.0.0berkeley-rc1-1551e2f
  • zkApps Transaction CLI README

Docker Images

Every docker image is built for each of the supported platforms.

To select the base docker image, replace CODENAME with the codename appropriate for your machine (focal, buster, or bullseye):

Step-by-Step Guide

This version connects and functions only on the new version of the Berkeley Testnet.

  1. Create a libp2p key pair for a node the first time 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/seed-lists/berkeley_seeds.txt

If you are running the correct version on the correct network, Berkeley Testnet, the expected output of the mina client status command is:

Git SHA-1: 1551e2faaa246c01636908aabe5f7981715a10f4
Chain ID: fd7d111973bf5a9e3e87384f560fdead2f272589ca00b6d9e357fca9839631da

Full Changelog: 2.0.0rampup8...2.0.0berkeley_rc1

Mainnet Beta Release 1.4.1beta1

06 Mar 21:01
Compare
Choose a tag to compare
Pre-release

The O(1) Labs team is proud to announce that 1.4.1beta1 is now ready to test on Mainnet! This release includes a set of important bugfixes, improvements as well as code cleanup.

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

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

What changed

Bug Fixes

  • Disable snark pool persistence and additional daemon performance fixes due to snark pool #13409
  • Fix for long async cycles impacting block production performance #13654
  • Fix for when a slot to start replaying from doesn’t have a block #13765
  • Replayer app fixes: #13401 #13600
  • Archive node: record correct intermediate nonces inside blocks: #13406

Improvements

  • Add a GraphQL query to generate a config file for a hard fork #13787
  • Support larger ledgers in IPC communication #11973
  • Remove memory stats #12904
  • Remove support for bionic and stretch #13657

Complete Changelog since 1.4.0:

1.4.0...1.4.1beta1

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 -y mina-mainnet=1.4.1beta1-6e8121c
Mina Archive: sudo apt-get install -y mina-archive=1.4.1beta1-6e8121c
New Mina Archive Schema: create_schema.sql

Docker Images:

Mina Daemon: minaprotocol/mina-daemon:1.4.1beta1-6e8121c-focal-mainnet
Mina Archive: minaprotocol/mina-archive:1.4.1beta1-6e8121c-focal

Sandbox Node: For testing in an isolated, single-node network without snarks

As of 1.2.0, the demo functionality is built into the standard daemon container, via the environment variable RUN_DEMO=true.
Just docker run -it --name mina-demo -e RUN_DEMO=true minaprotocol/mina-daemon:1.4.1beta1-6e8121c-CODENAME-mainnet and go!

Step by Step Guide:

Check out our documentation for complete instructions on using this version to connect to Mainnet.
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.

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

Chain id:     5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
Git SHA-1:    6e8121c52d07d5d59c626e293525871ca63d2336