Introduction
The Mina Protocol is a layer 1 blockchain that is secured by proof of stake consensus.
Node operators are people who run Mina nodes. Mina node operators participate in consensus to create new blocks and help compress data by generating zk-SNARKs.
Mina Node Roles
A node is a machine running the Mina daemon. Different nodes fulfill different roles within the Mina network:
-
Validator - A plain Mina daemon node that participates in network consensus and can be used for operations such as sending and signing payments.
-
Block Producer - A node that participates in a process to determine what blocks it is allowed to produce and then produces blocks containing transactions that can be broadcast to the network. People who run block producer nodes are also called block producers.
-
SNARK Coordinators - A role on a Mina node in the Mina network that distributes work to a series of SNARK workers in parallel to block production.
-
SNARK Workers - SNARK workers create zk-SNARKs for each transaction. These zk-SNARKs are used to create recursive zk-SNARKs that prove the correctness of a block, and in turn, these zk-SNARKs are used to create recursive zk-SNARKs that prove the correctness of the network. These zk-SNARKs help provide the Mina Protocol with succinctness.
-
Archive Nodes - A regular mina daemon that is connected to a running
mina-archiveprocess. The daemon regularly sends blockchain data to the archive process that stores it in a PostgreSQL database. -
Seed Nodes - Keep a record of nodes in the network and enable nodes joining the network to connect to peer nodes.
Operating a Node
Node operators are network participants who run Mina nodes on a Mina network.
This section describes how to run each node role and where to find the operational references.
Validators
- Requirements - Hardware, software, and network requirements
- Generating a Key Pair - How to generate key pairs
- Querying Data - Query blockchain data via GraphQL
- Staking and Snarking - How to stake your MINA
- Logging - Log files, levels, and export
Specialized Node Types
- Block Producers - Running a Block Producer
- SNARK Coordinator & Workers - Running SNARK coordinator and worker roles
- Archive Nodes - Running an Archive Node
- Seed Node - Running a Seed Node
Data and Programs
- Data and History - Rosetta API and blockchain integration
- Delegation Program - The Mina Foundation Delegation Program for Block Producers
Reference
- Mina CLI Reference - Guide to CLI interactions with Mina networks
- Mina Signer - NodeJS SDK for signing
Support
- Troubleshooting - Solutions to common problems
- FAQ - Frequently asked questions