Skip to content

Commit

Permalink
apply wordsmith styles
Browse files Browse the repository at this point in the history
  • Loading branch information
barriebyron committed Aug 30, 2023
1 parent e03c431 commit a6999e4
Showing 1 changed file with 43 additions and 30 deletions.
73 changes: 43 additions & 30 deletions docs/node-operators/getting-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ A new version of Mina Docs is coming soon! This page will be rewritten.
# Getting Started

<Subhead>
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.
Welcome to Mina! This section walks you through the process of setting up a Mina node, provides instructions on how to generate a keypair for use with the network, connect to the network, and begin producing blocks.
</Subhead>

:::info
Expand All @@ -25,54 +25,61 @@ This documentation is for the **Mainnet** release.

## Requirements

**Software**: macOS, Linux (currently supports Debian 10, 11, 12 and Ubuntu 20.04 LTS), or any host with Docker. We only support AMD64 CPU architecture at this time.
**Software**: Supported environments include macOS, Linux (Debian 10, 11, 12 and Ubuntu 20.04 LTS), and any host machine with Docker.

:::note

Windows is not officially supported at this time. However, it may be possible to use the [Docker instructions](./#docker). If you are interested in receiving a grant to develop Mina for Windows, please email [email protected] or reach out in the [Mina Protocol Discord server](https://discord.gg/minaprotocol).
**Processor**: Only AMD64 CPU architecture is supported.

:::
**Hardware**: Sending and receiving MINA does not require any special hardware.

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

- at least a 8-core processor
- at least 16GB of RAM
- 8-core processor
- 16 GB 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.
More RAM is required to run a SNARK worker node at the same time as a block producer.

**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.

- AWS - [c5.2xlarge](https://www.ec2instances.info/?filter=c5.2xl&region=us-west-2&cost_duration=daily&selected=c5.2xlarge)
- GCP - [c2-standard-8](https://cloud.google.com/compute/docs/machine-types)
- Azure - [Standard_F8s_v2](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes-compute#fsv2-series-1)
- Digital Ocean - [c-8-16gib](https://cloud.digitalocean.com/droplets/new?size=c-8-16gib)
O(1) Labs has tested running nodes on several cloud providers. We recommend the following instances for basic node operator needs. Custom requirements and different cost constraints might require a different instance type.

Check out our [guide](https://youtu.be/M9lE2lgyVEo) for how to configure your Mina node on Google Cloud.
- AWS [c5.2xlarge](https://www.ec2instances.info/?filter=c5.2xl&region=us-west-2&cost_duration=daily&selected=c5.2xlarge)
- GCP [c2-standard-8](https://cloud.google.com/compute/docs/machine-types)
- Azure [Standard_F8s_v2](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes-compute#fsv2-series-1)
- Digital Ocean [c-8-16gib](https://cloud.digitalocean.com/droplets/new?size=c-8-16gib)

Check out the [Connecting to the Mina Testnet (Google Cloud)](https://youtu.be/M9lE2lgyVEo) video for steps to configure your Mina node on Google Cloud.

## Installation

### Ubuntu / Debian
To install the latest [Mainnet **Stable** Release 1.4.0](https://github.com/MinaProtocol/mina/releases/tag/1.4.0), use the installation steps for your environment.

The binary download is around 1 GB, so the installation might take a few minutes.

To discover and install pre-release (Beta) builds, see the [Mina Releases](https://github.com/MinaProtocol/mina/releases) page on GitHub.

Follow along below to install the latest **Stable** [Mina Release 1.4.0](https://github.com/MinaProtocol/mina/releases/tag/1.4.0) or visit the [Mina Releases Page](https://github.com/MinaProtocol/mina/releases) on GitHub to discover and install pre-release (Beta) builds.
### Ubuntu and Debian

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

```
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.4.0-c980ba8
```

Check that the daemon installed correctly by running `mina version`. The expected output is `Commit c980ba87c3417f40a7081225dfe7478c5ee70fd7 on branch master`.
To verify the mina daemon installation, run:

- `mina version`

The expected output is `Commit c980ba87c3417f40a7081225dfe7478c5ee70fd7 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 [email protected] or reach out in the [Mina Protocol Discord server](https://discord.gg/minaprotocol).
Windows is not natively supported. Instead, use the [Docker instructions](./#docker).

Instead, use the Docker instructions.
If you are interested in receiving a grant to develop Mina for Windows, send an email to [email protected] or reach out in the [Mina Protocol Discord server](https://discord.gg/minaprotocol).

### macOS

Expand All @@ -82,21 +89,27 @@ 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](https://docs.docker.com/get-docker/). After Docker is installed, proceed to the Mina Docker instructions on [Connect to the Network](connecting-to-the-network).
Docker is a cross-platform tool. You can download and install Docker on multiple platforms.

Use the Docker installation instructions for your platform on [Get Docker](https://docs.docker.com/get-docker/). After Docker is installed, follow the [Connect to the Mina Network](/node-operators/connecting-to-the-network#docker) instructions.

### Build from source

If you're running another Linux distro or some version of macOS, you can [try building Mina from source code](https://github.com/MinaProtocol/mina/blob/master/README-dev.md#building-mina). 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](https://discord.gg/minaprotocol).
On Linux or macOS operating systems, you can experiment with [Building Mina](https://github.com/MinaProtocol/mina/blob/master/README-dev.md#building-mina) from source code.

Other operating systems haven't been tested thoroughly and might have issues. You can share logs and get troubleshooting help in the [Mina Protocol Discord server](https://discord.gg/minaprotocol).

## Set up port forwarding and firewalls

## Set up port forwarding and any firewalls
If you are running a firewall, you must allow traffic on TCP port 8302.

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.
Unless the `-external-ip YOUR_IP` flag is provided, the daemon uses HTTPS (443) and HTTP (80) to 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.
Enable port forwarding on your router 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`
- TCP port `8302`
- 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](generating-a-keypair).
Now that you've installed Mina and configured your network, you are ready to move on to the next step: [generating a keypair](generating-a-keypair).

0 comments on commit a6999e4

Please sign in to comment.