🚘Omni Instruction Guide

System Requirements

  • CPU: minimum 4 cores, 8 cores recommended

  • RAM: minimum 16 GB, 32 GB recommended

  • Storage: SSD with at least 500 GB free space

  • OS: Ubuntu 22.04 LTS or newer

  • Internet: stable connection, minimum 100 Mbps

System Preparation

# Update system
sudo apt update && sudo apt upgrade -y

# Install necessary packages
sudo apt install -y build-essential git curl wget jq

# Install Go
wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.bashrc
source ~/.bashrc

# Check Go version
go version

Omni Installation and Build

# Clone repository
git clone https://github.com/omni-network/omni.git
cd omni

# Install dependencies
make deps

# Build binaries
make build

# Build Docker image
make build-docker

Node Configuration

# Create configuration directory
mkdir -p ~/.omni/config

# Generate configuration file (example)
cat > ~/.omni/config/config.toml << EOL
# Main settings
chain-id = "omni-testnet-1"
moniker = "my-node"
pruning = "default"
db-backend = "goleveldb"

# P2P settings
p2p.laddr = "tcp://0.0.0.0:26656"
p2p.seeds = "seed1.example.com:26656,seed2.example.com:26656"

# RPC settings
rpc.laddr = "tcp://0.0.0.0:26657"

# API settings
api.enable = true
api.address = "tcp://0.0.0.0:1317"
EOL

Starting the Node

# Initialize the node
./build/omni init my-node --chain-id omni-testnet-1

# Start the node
./build/omni start --home ~/.omni

Monitoring

# Check synchronization status
curl -s localhost:26657/status | jq .result.sync_info

# Check number of peers
curl -s localhost:26657/net_info | jq .result.n_peers

Additional Commands

# Stop the node
pkill -f omni

# View logs
tail -f ~/.omni/logs/omni.log

# Update the node
cd omni
git pull
make build

Last updated