Mina is growing fast!
Subscribe to stay updated
Getting Started

Documentation

Edit

Getting Started

Welcome to Mina Genesis Program applicants! This section will walk you through the process of setting up a Mina node. After we will show you how to generate a keypair for submission prior to a new Testnet. Finally we'll show you how to connect to the network and begin producing blocks.

note

This documentation is for the beta release. The commands and APIs may change before the initial release. Last updated for version 0.0.16-beta7.

Testnet status: Unknown

Requirements

Software: macOS or Linux (currently supports Debian 9 and Ubuntu 18.04 LTS)

Note: Windows is not officially supported at this time. However, community members succeeded in setting up nodes using Windows Subsystem for Linux. Click here for instructions on using Windows, which are created by the community. Additionally Windows users can use the Docker documentation.

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 protoctol 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

The newest binary releases can be found below. Instructions are provided for macOS and Linux below:

This is a large download, around 1GB, so the install might take some time.

warning

If you installed mina from a previous release, you'll need to upgrade it so that you won't get banned by the network for using an older client. See instructions below for upgrading both macOS and Linux builds.

macOS

Install using Homebrew.

brew install minaprotocol/mina/mina

If you already have mina installed from a previous release, run:

brew remove coda
brew untap codaprotocol/coda
brew upgrade mina

You can run mina -help to check if the installation succeeded.

Ubuntu 18.04 / Debian 9

Add the Mina Debian repo and install:

echo "deb [trusted=yes] http://packages.o1test.net release main" | sudo tee /etc/apt/sources.list.d/mina.list
sudo apt-get update
sudo apt-get install -y curl mina-testnet-postake-medium-curves=0.0.16-beta7-757342b --allow-downgrades

You can run mina -help to check if the installation succeeded.

Windows

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

Please instead use the Docker instructions below.

Docker

Docker is cross-platform tool that allows you to run a virtual machine that will execute any needed software. Please follow the official installation instructions for your platform on this page.

Build from source

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

Set up port forwarding and any firewalls

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

You may 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

For walk-through instructions see this guide.

Next

Now that you've installed Mina and configured your network, let's move on to the next step - generating a keypair!