Skip to main content
note

A new version of Mina Docs is coming soon! This page will be rewritten.

Getting Started

Welcome to Mina! This section walks you through the process of setting up a Mina node. After we will show you how to generate a keypair for use with the network. Finally, we'll show you how to connect to the network and begin producing blocks.

info

This documentation is for the Mainnet release.

Requirements

Software: macOS, Linux (currently supports Debian 9 and Ubuntu 18.04 LTS), or any host with Docker

note

Windows is not officially supported at this time. However, it may be possible to use the Docker instructions. If you are interested in receiving a grant to develop Mina for Windows, please email grants@o1labs.org or reach out in the Mina Protocol Discord server.

Hardware: Sending and receiving mina does not require any special hardware, but running a block producer on the Mina network currently requires:

  • at least a 8-core processor
  • at least 16GB of RAM

Note that if you plan on running a snark worker node at the same time as a block producer, you may need more RAM. GPUs aren't currently required, but may be required for node operators when the protocol is upgraded.

Network: At least 1 Mbps connection

VM Instances: O(1) Labs has tested running nodes on several cloud providers, and recommends the following instances for basic node operator needs. Keep in mind that custom requirements as well as different cost constraints may require a different instance type.

Check out our guide for how to configure your Mina node on Google Cloud.

Installation

Ubuntu / Debian

Follow along below to install the latest Stable Mina Release 1.3.1.2 or visit the Mina Releases Page on GitHub to discover and install pre-release (Beta) builds.

You can set up the new debian stable repository and install the latest version as follows:

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
sudo apt-get install -y curl unzip mina-mainnet=1.3.1.2-25388a0

Check that the daemon installed correctly by running mina version. The expected output is Commit 25388a0fed9695e8e9d04f75f50c2bae1c9c80db on branch master.

Windows

Windows is not yet natively supported. If you are interested in receiving a grant to develop Mina for Windows, please email grants@o1labs.org or reach out in the Mina Protocol Discord server.

Instead, use the Docker instructions.

macOS

macOS is used by developers and is not officially supporting any pre-built packages at this time.

Instead, use the Docker instructions or build from source.

Docker

Docker is cross-platform tool that allows you to run a virtual machine that will execute any needed software. Follow the official installation instructions for your platform. See Get Docker. After Docker is installed, proceed to the Mina Docker instructions on Connect to the Network.

Build from source

If you're running another Linux distro or some version of macOS, you can try building Mina from source code. Please note that other operating systems haven't been tested thoroughly, and might have issues. Feel free to share any logs and get troubleshooting help in the Mina Protocol Discord server.

Set up port forwarding and any firewalls

If you are running a firewall, you must allow traffic on TCP port 8302. Additionally, unless the -external-ip YOUR_IP flag is provided, the daemon uses HTTPS (443) and HTTP (80) to try and determine its own IP address.

You might need to configure your router's port forwarding to allow inbound traffic to the following ports through your external IP address.

  • TCP port 8302
  • Optionally to use the GraphQL service, expose TCP port 3085

Next

Now that you've installed Mina and configured your network, you are ready to move on to the next step: generating a keypair.