Oraichain
  • ORAICHAIN
    • Introduction
    • System Overview
      • AI Layer 1 for Data Economy & blockchain oracle services
      • Layer 2 Rollups and Subnetworks
      • Verifiable and trustless AI Execution
      • Protocol Messages
      • IBC Integration
    • Use Cases
    • Token Economics
  • DEVELOPER GUIDES
    • General
      • Blockchain details
    • CosmWasm Contracts
      • Compile a Contract
      • Deploy a Contract
      • Query a Contract
      • Send tokens to a Contract
      • Manage Contracts using design patterns
      • End-to-end CosmWasm testing with CW-simulate
    • Local testnet chain
    • Wallet
      • OWallet
    • Price Feed
      • CW Oracle Hub
    • VRF 2.0
      • Introduction to Oraichain VRF 2.0
      • Get a Random Value from API
        • Get VRF Value from different networks
        • Contract Addresses and Pricing
        • Validate a Group Signature
      • Security Remarks
      • API Reference
      • Get support from Oraichain team
    • OraiDEX
      • ORAIX Token
      • OBridge
        • OraiBTC
        • TON Bridge
          • TON Blockchain 101
      • Decentralization
    • Indexers
      • SubQuery
    • OraichainEVM
      • Getting started
      • Smart Contracts
        • Oraichain EVM Precompiled Contracts
        • Address
        • Bank
        • Wasm
        • Authz
      • Guides
        • Metamask
        • Remix
        • Foundry
        • Hardhat
        • Tools
        • Oraichain EVM RPC
  • GOVERNANCE
    • Privacy Policy
  • NODES & VALIDATORS
    • Networks
      • Joining Mainnet
        • Build Linux binary from source and become a Sentry Node Operator
        • Become a Validator
      • Joining Testnet
        • Become Testnet Fullnode From Source
        • StateSync Testnet
        • Faucet Testnet
    • Oraichain Tutorials
      • Migrate one Oraichain node to another
      • Cosmovisor
      • Update validator image
      • Tenderduty
      • Grafana
      • Tracking Unvoted Proposals
      • Tmtop
Powered by GitBook
On this page
  • 🧰 Prerequisites
  • βœ… OS Compatibility
  • βœ… Go (Golang)
  • βœ… Essential Packages
  • πŸ—οΈ Build oraid from Source
  • 1. Set your ORAI working directory
  • 2. Clone and build
  • βš™οΈ Initialize Your Node
  • 🧠 Setup Cosmovisor (Optional but Recommended)
  • 1. Install Cosmovisor
  • 2. Set up folders
  • 3. Add environment variables
  • ⛓️ Sync Chain Data
  • πŸ› οΈ Update Node Config
  • πŸ”§ Run as a Systemd Service
  • 🩺 Monitor Your Node
  • Check service status
  • View logs live
  • Sync status
  • πŸ‘₯ Join the Community

Was this helpful?

Edit on GitHub
  1. NODES & VALIDATORS
  2. Networks
  3. Joining Mainnet

Build Linux binary from source and become a Sentry Node Operator

PreviousJoining MainnetNextBecome a Validator

Last updated 1 month ago

Was this helpful?

Everything you need to go from zero to running a fully synced Oraichain node β€” the right way.


🧰 Prerequisites

Before diving in, make sure your system meets the following requirements.

βœ… OS Compatibility

  • Ubuntu LTS versions only: 22.04

  • ❌ Not supported: Ubuntu 16.04 or older

βœ… Go (Golang)

  • Required version: 1.22.6+

  • Follow the if not already installed.

  • Ensure $GOPATH/bin is included in your $PATH.

βœ… Essential Packages

Install these if not already available:

sudo apt update && sudo apt install make gcc -y

πŸ—οΈ Build oraid from Source

Let’s compile the node binary from scratch.

1. Set your ORAI working directory

export ORAI_HOME="/root"

πŸ“ If you're not using /root, replace all occurrences of $ORAI_HOME with your desired path.

2. Clone and build

cd $ORAI_HOME
git clone https://github.com/oraichain/wasmd
cd wasmd
git checkout v0.50.9  # or latest tag
make build

⚠️ Confirm the binary version:

oraid version

Expected output: v0.50.9


βš™οΈ Initialize Your Node

oraid init NODE_NAME --home $ORAI_HOME/.oraid --chain-id Oraichain

(replace the NODE_NAME with a name of your choosing)

Download the latest genesis file:

wget -O $ORAI_HOME/.oraid/config/genesis.json https://raw.githubusercontent.com/oraichain/oraichain-static-files/master/genesis.json

βœ… Resulting directory structure:

$ORAI_HOME/.oraid/
β”œβ”€β”€ config
β”‚   β”œβ”€β”€ app.toml
β”‚   β”œβ”€β”€ client.toml
β”‚   β”œβ”€β”€ config.toml
β”‚   β”œβ”€β”€ genesis.json
β”‚   β”œβ”€β”€ node_key.json
β”‚   └── priv_validator_key.json
└── data
    └── priv_validator_state.json

🧠 Setup Cosmovisor (Optional but Recommended)

Cosmovisor makes future upgrades smooth and stress-free.

1. Install Cosmovisor

go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@latest

2. Set up folders

mkdir -p $ORAI_HOME/.oraid/cosmovisor/genesis/bin
mkdir -p $ORAI_HOME/.oraid/cosmovisor/upgrades
cp $GOPATH/bin/oraid $ORAI_HOME/.oraid/cosmovisor/genesis/bin

3. Add environment variables

echo "# Cosmovisor Setup" >> ~/.profile
echo "export ORAI_HOME=/root" >> ~/.profile
echo "export DAEMON_NAME=oraid" >> ~/.profile
echo "export DAEMON_HOME=$ORAI_HOME/.oraid" >> ~/.profile
echo "export DAEMON_ALLOW_DOWNLOAD_BINARIES=false" >> ~/.profile
echo "export DAEMON_LOG_BUFFER_SIZE=512" >> ~/.profile
echo "export DAEMON_RESTART_AFTER_UPGRADE=true" >> ~/.profile
echo "export UNSAFE_SKIP_BACKUP=true" >> ~/.profile
source ~/.profile

Check installation:

cosmovisor version
oraid version

⛓️ Sync Chain Data

Download and extract the latest snapshot:

sudo apt install wget liblz4-tool aria2 -y
cd $ORAI_HOME/.oraid
wget -O oraichain_latest.tar.lz4 [SNAPSHOT_URL]
lz4 -c -d oraichain_latest.tar.lz4 | tar -x -C $ORAI_HOME/.oraid

We provide a snapshot file every hour, available at https://snapshot.orai.io/. Please change [SNAPSHOT_URL] to the provided link.


πŸ› οΈ Update Node Config

Edit config:

vim $ORAI_HOME/.oraid/config/config.toml

Update seeds:

seeds = "e18f82a6da3a9842fa55769955d694f62f7f48bd@seed1.orai.zone:26656,defeea41a01b5afdb79ef2af155866e122797a9c@seed4.orai.zone:26656"

You may also add more from this list:

f223f1be06ef35a6dfe54995f05daeb1897d94d7@seed-node.mms.team:42656
8542cd7e6bf9d260fef543bc49e59be5a3fa9074@seed.publicnode.com:26656
fe0a0d46eb5436905bf8465f83d2da5a503bf4eb@mainnet-seed.konsortech.xyz:33165
ade4d8bc8cbe014af6ebdf3cb7b1e9ad36f412c0@seeds.polkachu.com:23356
5f5cfac5c38506fbb4275c19e87c4107ec48808d@seeds.nodex.one:11210
49165f4ef94395897d435f144964bdd14413ea28@seed.orai.synergynodes.com:26656
...

πŸ”§ Run as a Systemd Service

Create a service file:

cat > /tmp/orai.service <<EOF
[Unit]
Description=Oraichain Cosmovisor Node
After=network-online.target

[Service]
User=$USER
Environment="ORAI_HOME=/root"
Environment="DAEMON_NAME=oraid"
Environment="DAEMON_HOME=${ORAI_HOME}/.oraid"
Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"
Environment="DAEMON_LOG_BUFFER_SIZE=512"
Environment="UNSAFE_SKIP_BACKUP=true"
ExecStart=$GOPATH/bin/cosmovisor run start --home ${ORAI_HOME}/.oraid --minimum-gas-prices=0.001orai
Restart=always
RestartSec=3
LimitNOFILE=infinity
LimitNPROC=infinity

[Install]
WantedBy=multi-user.target
EOF

sudo mv /tmp/orai.service /etc/systemd/system/orai.service

Enable and start:

sudo systemctl daemon-reload
sudo systemctl start orai
sudo systemctl enable orai

🩺 Monitor Your Node

Check service status

sudo systemctl status orai

View logs live

journalctl -u orai -f

Sync status

oraid status | jq .SyncInfo
# OR
curl -s localhost:26657/status | grep "catching_up"

βœ… If catching_up is false, you're fully synced!


πŸ‘₯ Join the Community

Join our Telegram group to get help, share ideas, and stay up to date:

Some useful resource from validator community:

πŸ‘‰

Go installation guide
Oraichain Validators Group
https://polkachu.com/networks/orai
https://itrocket.net/services/mainnet/oraichain
https://www.synergynodes.com/service/oraichain
https://ccvalidators.com/oraichain
https://cosmos.directory/oraichain