Prerequisites

Prerequisites for installing and running Initia

Hardware/OS Requirements

The minimum hardward requirements for running an Initia node:

  • CPU: 4 cores

  • Memory: 16GB RAM

  • Disk: 1 TB SSD Storage

  • Bandwidth: 100 Mbps

Installing Initia can be done in 2 different ways.

  1. Downloading the source and directly building Initia. (Go to Building Initia)

  2. Using prebuilt binaries (Go to Using prebuilt Initia)

Oracle Requirements

You can install the oracle sidecar binary via one of the following:

  1. Building from source (Go to Building From Source)

  2. Prebuilt binaries (Go to Binaries)

For complete information on the oracle, please see Oracle

Building Initia

This section describes how to run Initia by downloading the source and building it.

Build-essential package

To build Initia, essential utilities must be installed. These utilities are provided on Linux distribution, and package components for Ubuntu can be found in the below link:

sudo apt install -y build-essential

Golang

The below command should print the current go version.

make --version # 3.8 or later
go version # 1.19 or later

Initia

Clone and build the Initia source code repo.

# please execute following commands to access private repos
# $ gh auth login
# or
# $ git config --global url."https://x-access-token:{personal-access-token}@github.com/".insteadOf "https://github.com/"
# $ export GOPRIVATE="github.com/initia-labs/initiavm,github.com/initia-labs/OPinit"

git clone git@github.com:initia-labs/initia.git
cd initia
git checkout $TAG # Tag the desired version
make install

The below command line can be executed to check if the install has been successful.

If initiad is not found, run go env and check if $GOBIN or $GOPATH/bin directories are included in $PATH.

initiad version # Confirm that the correct version is installed

Using prebuilt Initia

You can download pre-built binaries for each of Testnet or Mainnet(TBA) from the network repository. Download the compression file for your OS.

Below is an example of bash command line.

wget https://initia.s3.ap-southeast-1.amazonaws.com/${CHAINID}/initia_${VERSION}_${OS}_${ARCH}.tar.gz
tar -xzf ${CHAINID}/initia_${VERSION}_${OS}_${ARCH}.tar.gz && rm ${CHAINID}/initia_${VERSION}_${OS}_${ARCH}.tar.gz
mv initiad /usr/bin
mv libinitia.${ARCH}.so /usr/lib

initiad version # Confirm tha the correct version is installed
ldd `which initiad`  # Confirm that libinitia.x86_64.so is correctly linked

Setup Environment

On Linux, the number of files that can be opened in a single process can be set on configuration. Many Linux distributions limit the number to 1024, which is smaller than the number of files opened by Initia. To use Initia, this configuration has to be modified.

The current value can be checked with ulimit -n command, and root /etc/security/limits.conf file can be modified to change this parameter. By adding the below to limits.conf the maximum for all accounts can be increased to 65535. To only modify the number for the account running Initia, enter the account name instead of *.

The modified values are applied after re-logging in to the shell.

*                soft    nofile          65535
*                hard    nofile          65535

Last updated