Releases: MinaProtocol/mina
Mina 3.0.1 Upgrade Migration Tooling
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:
-
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. -
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
❗ 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
-
Start the archive node using the migrated DB. You can migrate your database as instructed in this guide using the migration tool.
-
Alternatively you can import the migrated db dump from here
Mina Daemon
This version connects and functions only on the Mina Devnet Network.
- 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>
- Set the environment variable
MINA_LIBP2P_PASS
with the password set for the libp2p key pair in the previous step. - 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
❗ 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
❗ 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:
-
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. -
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
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:
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
❗ 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
-
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
-
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.
- 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>
- Set the environment variable
MINA_LIBP2P_PASS
with the password set for the libp2p key pair in the previous step. - 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
❗ 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
❗ 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
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
):
- Mina Daemon: gcr.io/o1labs-192920/mina-daemon:2.0.0berkeley-rc1-1551e2f-CODENAME-berkeley
- Mina Archive: gcr.io/o1labs-192920/mina-archive:2.0.0berkeley-rc1-1551e2f-CODENAME
Step-by-Step Guide
This version connects and functions only on the new version of the Berkeley Testnet.
- 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>
- Set the environment variable
MINA_LIBP2P_PASS
with the password set for the libp2p key pair in the previous step. - 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
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:
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