Skip to main content

System Configuration

☢️Recommended operating systems

This guide has been tested against Linux distributions only. To ensure a successful production environment setup, consider using a Linux system.

Running a full Terra node is a resource-intensive process that requires a persistent server. If you want to use Terra without downloading the entire blockchain, use Terra Station. If you want to set up a local, WASM-enabled, private testnet for smart contracts, visit install LocalTerra.

Hardware Requirements

The minimum requirements for running a Terra full node are:

NetworkCPU coresRAMDiskBANDWIDTH
phoenix-14 (+4 threads)32 GB2 TB (SSD 2000 MB/s R/W)300 Mbps
pisco-12 (+2 threads)16 GB500 GB (SSD 1000 MB/s R/W)150 Mbps
localterra24 GB20 GB (SSD 500 MB/s R/W)N/A
private-network12 GB20 GB (SSD 500 MB/s R/W)N/A
☢️Storage requirements

As the network grows, the minimum hardware requirements will also grow. It is recommended that you monitor the system so you can prevent it from running out of resources.

Prerequisites

Installing Go for MacOS & Linux

Go releases can be found here: https://go.dev/dl/

In your browser, you can right-click the correct release (V1.18) and Copy link.


_22
# 1. Download the archive
_22
_22
wget https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
_22
_22
# Optional: remove previous /go files:
_22
_22
sudo rm -rf /usr/local/go
_22
_22
# 2. Unpack:
_22
_22
sudo tar -C /usr/local -xzf go1.18.2.linux-amd64.tar.gz
_22
_22
# 3. Add the path to the go-binary to your system path:
_22
# (for this to persist, add this line to your ~/.profile or ~/.bashrc or ~/.zshrc)
_22
_22
export PATH=$PATH:/usr/local/go/bin
_22
_22
# 4. Verify your installation:
_22
_22
go version
_22
_22
# go version go1.18.2 linux/amd64

  • Linux users: sudo apt-get install -y build-essential

Commonly used ports

Terrad uses the following TCP ports. Toggle their settings to match your environment.

Most validators will only need to open the following port:

  • 26656: The default port for the P2P protocol. This port is used to communicate with other nodes and must be open to join a network. However, it does not have to be open to the public. For validator nodes, configuring persistent_peers and closing this port to the public are recommended.

Additional ports:

  • 1317: The default port for the Lite Client Daemon (LCD), which can be executed by terrad rest-server. The LCD provides an HTTP RESTful API layer to allow applications and services to interact with your Terrad instance through RPC. For usage examples, see Terra REST API. You don't need to open this port unless you have use for it.

  • 26660: The default port for interacting with the Prometheus database, which can be used to monitor the environment. In the default configuration, this port is not open.

  • 26657: The default port for the RPC protocol. Because this port is used for querying and sending transactions, it must be open for serving queries from Terrad.

☢️caution

Do not open port 26657 to the public unless you plan to run a public node.