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 Producers
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:
- The PostgreSQL schema used by the Mina archive database: in the release notes
- 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