Skip to main content

Post-Upgrade Flags and Configurations for Mainnet

Please refer to the Berkeley node release notes here.

Network details

Chain ID
5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1

Git SHA-1
039296a260080ed02d0d0750d185921f030b6c9c

Seed List
https://bootnodes.minaprotocol.com/networks/mainnet.txt

Node build
https://github.com/MinaProtocol/mina/releases/tag/2.0.0

Block Producer​s

Start your node post-upgrade in Mainnet with the flags and environment variables listed below.

mina daemon
--block-producer-key <path to the wallet private key file>
--config-directory <path to the mina configuration directory>
--file-log-rotations 500
--generate-genesis-proof true
--libp2p-keypair <keyfile path>
--log-json
--peer-list-url https://bootnodes.minaprotocol.com/networks/mainnet.txt

ENVIRONMENT VARIABLES
RAYON_NUM_THREADS=6
MINA_LIBP2P_PASS
MINA_PRIVKEY_PASS

SNARK Coordinator

Configure your node post-upgrade in Mainnet with specific flags and environment variables as listed.

mina daemon
--config-directory <path to the mina configuration directory>
--enable-peer-exchange true
--file-log-rotations 500
--libp2p-keypair <keyfile path>
--log-json
--peer-list-url https://bootnodes.minaprotocol.com/networks/mainnet.txt
--run-snark-coordinator <public key>
--snark-worker-fee 0.001
--work-selection [seq|rand]

ENVIRONMENT VARIABLES
MINA_LIBP2P_PASS

SNARK Workers

Connect to a SNARK Coordinator node if required and run the following flags.

mina internal snark-worker
--proof-level full
--shutdown-on-disconnect false
--daemon-address <snark coordinator IP:port>

ENVIRONMENT VARIABLES
RAYON_NUM_THREADS:8

Archive Node

Running an Archive Node involves setting up a non-block-producing node and a PostgreSQL database configured with specific flags and environment variables.

For more information about running archive nodes, see Archive Node.

The PostgreSQL database requires two schemas:

  1. The PostgreSQL schema used by the Mina archive database: in the release notes
  2. The PostgreSQL schema extensions to support zkApp commands: in the release notes

The non-block-producing node must be configured with the following flags:

mina daemon
--archive-address <archive_address>:<archive_port - use 3086>
--config-directory <path to mina config>
--enable-peer-exchange true
--file-log-rotations 500
--generate-genesis-proof true
--libp2p-keypair <keyfile path>
--log-json
--peer-list-url https://bootnodes.minaprotocol.com/networks/mainnet.txt

ENVIRONMENT VARIABLES
MINA_LIBP2P_PASS

This non-block-producing node connects to the archive node with the addresses and port specified in the --archive-address flag.

The archive node command looks like this:

mina-archive run
--metrics-port <port>
--postgres-uri postgres://<user>:<password>@<address>:<port>/<db>
--server-port 3086
--log-json
--log-level DEBUG

Rosetta API

Once you have the Archive Node stack up and running, start the Rosetta API Docker image with the following command:

docker run
--name rosetta --rm \
-p 3088:3088 \
--entrypoint '' \
gcr.io/o1labs-192920/mina-rosetta:<POST UPGRADE RELEASE> \
/usr/local/bin/mina-rosetta \
--archive-uri "${PG_CONNECTION_STRING}" \
--graphql-uri "${GRAPHQL_URL}" \
--log-json \
--log-level ${LOG_LEVEL} \
--port 3088