Skip to main content

Overview

This guide provides step-by-step instructions for setting up and running an Initia L1 node. It covers everything from system requirements to connecting to the Initia network.

System Requirements

Before proceeding, ensure your system meets the following requirements:
We strongly recommend running Initia nodes on a Linux-based operating system. While it may be possible to run on other operating systems, we have not tested them and cannot guarantee the same environment settings and running conditions.

Installation

There are two ways to install the initiad CLI:

Option 1: Building from Source

1

Install Prerequisites

Install the required packages:
Also, install the latest version of Go:
Verify the installed versions:
2

Build the Daemon

Clone and build the Initia node:
Verify the installation:
If initiad is not found, check your $PATH environment variable to ensure it includes $GOBIN or $GOPATH/bin.

Option 2: Using Pre-Built Binaries

Download pre-built initiad binaries from the releases page. Select the appropriate version for your operating system.

System Configuration

File Descriptor Limits

Initia requires a higher number of file descriptors than the default Linux limit. Adjust the system limits by adding the following to /etc/security/limits.conf:

Node Setup

Initialization

Initialize your node with a moniker (a human-readable name):
Note that:
  • Moniker must contain only ASCII characters
  • Maximum length is 70 characters
  • The default home directory is ${HOME}/.initia
  • To use a different directory, add --home <YOUR_INITIA_HOME> to commands
Your private key is generated during initialization and stored in ${HOME} /.initia/config/priv_validator_key.json. IMPORTANT: Always back up your private key, especially for validator nodes. Loss of the private key may result in permanent node inaccessibility.

Network Configuration

Endpoints

An Initia node provides multiple endpoints that you can enable or disable.
Validator nodes are not recommended to expose these endpoints publicly.

Configuration Examples

  1. API Configuration (~/.initia/config/app.toml):
  1. RPC and P2P Configuration (~/.initia/config/config.toml):

External Address Configuration

To allow external nodes to connect to your node, configure the external address in config.toml:
You can automatically set your public IP using:

Connecting to Initia Network

To fully connect to the network, you first need to download the genesis file, configure your peers, and sync the node.
You can find information on the genesis file, peers, and state sync for the network you want to join on the networks page.

Genesis File

To start syncing the node, you first need to download the genesis file.

Network Configuration

Once the genesis file is downloaded, you can configure the persistent peers in ~/.initia/config/config.toml:
Replace peer1@ip1:port1,peer2@ip2:port2 with the list of peers for the network you want to join.

State Sync & Snapshots

To sync the node, you can use the state sync feature.

Running as a Service (Optional)

To run Initia as a system service, create an initiad.service file in /etc/systemd/system:
Once the service file is created, you can enable and start the service:
To see the logs, you can use the following commands:

Cosmovisor (Optional)

If you want automatic binary upgrades, set up Cosmovisor after completing all steps above. In the Cosmovisor setup, the <path-to-executable> refers to your initiad binary path. Follow the Cosmovisor guide.