Build Linux binary from source and become a Sentry Node Operator

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 Go installation guide 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

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 = "[email protected]:26656,[email protected]:26656"

You may also add more from this list:

[email protected]:42656
[email protected]:26656
fe0a0d46eb5436905bf8465f83d2da5a503bf4eb@mainnet-seed.konsortech.xyz:33165
[email protected]:23356
[email protected]: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:

👉 Oraichain Validators Group

Some useful resource from validator community:

Last updated

Was this helpful?