Mainnet
Oraichain
Installation Guide
Tendermint CLI
Public Endpoint
State Sync
Snapshot
Custom Explorers
Node Maps
Installation Guide
Installation Guide
Tendermint CLI
Public Endpoint
State Sync
Snapshot
Custom Explorers
Node Maps
How To Install Full Node ORAI MAINNET
Setting up vars
Your Nodename (validator) that will shows in explorer
NODENAME=<Your_Nodename_Moniker>
Save variables to system
echo "export NODENAME=$NODENAME" >> $HOME/.bash_profile
if [ ! $WALLET ]; then
echo "export WALLET=wallet" >> $HOME/.bash_profile
fi
echo "export ORAI_CHAIN_ID=Oraichain" >> $HOME/.bash_profile
source $HOME/.bash_profile
Update packages
sudo apt update && sudo apt upgrade -y
Install dependencies
sudo apt install curl build-essential git wget jq make gcc tmux net-tools ccze -y
Install go
if ! [ -x "$(command -v go)" ]; then
ver="1.19.4"
cd $HOME
wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz"
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz"
rm "go$ver.linux-amd64.tar.gz"
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> ~/.bash_profile
source ~/.bash_profile
fi
Download and build binaries
cd $HOME && rm -rf orai
git clone https://github.com/oraichain/orai.git && cd orai
git checkout v0.41.7
cd orai/orai
make install
Config app
oraid init $NODENAME --chain-id $ORAI_CHAIN_ID --home "$HOME/.oraid"
Download configuration
cd $HOME
curl -Ls https://snapshot3.konsortech.xyz/orai/genesis.json > $HOME/.oraid/config/genesis.json
curl -Ls https://snapshot3.konsortech.xyz/orai/addrbook.json > $HOME/.oraid/config/addrbook.json
Set seeds and peers
sed -E -i 's/seeds = \".*\"/seeds = \"4d0f2d042405abbcac5193206642e1456fe89963@3.134.19.98:26656,24631e98a167492fd4c92c582cee5fd6fcd8ad59@162.55.253.58:26656,bf083c57ed53a53ccd31dc160d69063c73b340e9@3.17.175.62:26656,35c1f999d67de56736b412a1325370a8e2fdb34a@5.189.169.99:26656,5ad3b29bf56b9ba95c67f282aa281b6f0903e921@64.225.53.108:26656,d091cabe3584cb32043cc0c9199b0c7a5b68ddcb@seed.orai.synergynodes.com:26656\"/' $HOME/.oraid/config/config.toml
Disable indexing
indexer="null"
sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.oraid/config/config.toml
Config pruning
pruning="custom"
pruning_keep_recent="100"
pruning_keep_every="0"
pruning_interval="19"
sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.oraid/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.oraid/config/app.toml
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.oraid/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.oraid/config/app.toml
Set minimum gas price
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0.025orai\"|" $HOME/.oraid/config/app.toml
Create service
sudo tee /etc/systemd/system/oraid.service > /dev/null <<EOF
[Unit]
Description=Orai Network Node
After=network.target
[Service]
Type=simple
User=$USER
ExecStart=$(which oraid) start --home /root/.oraid
Restart=on-failure
RestartSec=10
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
Register and start service
sudo systemctl daemon-reload
sudo systemctl enable oraid
sudo systemctl restart oraid && sudo journalctl -u oraid -f -o cat
Guidance for Validator
Create wallet
To create new wallet you can use command below. Don’t forget to save the mnemonic
echo "export WALLET=wallet" >> $HOME/.bash_profile
source $HOME/.bash_profile
oraid keys add $WALLET
To recover your wallet using seed phrase
oraid keys add $WALLET --recover
Show your wallet list
oraid keys list
Save wallet info
Add wallet and validator address into variables
ORAI_WALLET_ADDRESS=$(oraid keys show $WALLET -a)
ORAI_VALOPER_ADDRESS=$(oraid keys show $WALLET --bech val -a)
echo 'export ORAI_WALLET_ADDRESS='${ORAI_WALLET_ADDRESS} >> $HOME/.bash_profile
echo 'export ORAI_VALOPER_ADDRESS='${ORAI_VALOPER_ADDRESS} >> $HOME/.bash_profile
source $HOME/.bash_profile
Fund your wallet
In order to create validator first you need to fund your wallet with discord faucet.
n/a
Create validator
check your wallet balance:
oraid query bank balances $ORAI_WALLET_ADDRESS
To create your validator run command below
oraid tx staking create-validator \
--amount 100000orai \
--from $WALLET \
--commission-max-change-rate "0.01" \
--commission-max-rate "0.2" \
--commission-rate "0.07" \
--min-self-delegation "1" \
--pubkey $(oraid tendermint show-validator) \
--moniker $NODENAME \
--chain-id $ORAI_CHAIN_ID
Check your validator key
[[ $(oraid q staking validator $ORAI_VALOPER_ADDRESS -oj | jq -r .consensus_pubkey.key) = $(oraid status | jq -r .ValidatorInfo.PubKey.value) ]] && echo -e "\n\e[1m\e[32mTrue\e[0m\n" || echo -e "\n\e[1m\e[31mFalse\e[0m\n"
Get list of validators
oraid q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " \t " + .description.moniker' | sort -gr | nl
Usefull commands
Service management
Check logs
journalctl -fu oraid -o cat
Start service
sudo systemctl start oraid
Stop service
sudo systemctl stop oraid
Restart service
sudo systemctl restart oraid
Node info
Synchronization info
oraid status 2>&1 | jq .SyncInfo
Validator info
oraid status 2>&1 | jq .ValidatorInfo
Node info
oraid status 2>&1 | jq .NodeInfo
Show node id
oraid tendermint show-node-id
Wallet operations
List of wallets
oraid keys list
Recover wallet
oraid keys add $WALLET --recover
Delete wallet
oraid keys delete $WALLET
Get wallet balance
oraid query bank balances $ORAI_WALLET_ADDRESS
Transfer funds
oraid tx bank send $ORAI_WALLET_ADDRESS <TO_ORAI_WALLET_ADDRESS> 100000orai
Voting
oraid tx gov vote 1 yes --from $WALLET --chain-id=$ORAI_CHAIN_ID
Staking, Delegation and Rewards
Delegate stake
oraid tx staking delegate $ORAI_VALOPER_ADDRESS 100000orai --from=$WALLET --chain-id=$ORAI_CHAIN_ID --gas=auto
Redelegate stake from validator to another validator
oraid tx staking redelegate <srcValidatorAddress> <destValidatorAddress> 100000orai --from=$WALLET --chain-id=$ORAI_CHAIN_ID --gas=auto
Withdraw all rewards
oraid tx distribution withdraw-all-rewards --from=$WALLET --chain-id=$ORAI_CHAIN_ID --gas=auto
Withdraw rewards with commision
oraid tx distribution withdraw-rewards $ORAI_VALOPER_ADDRESS --from=$WALLET --commission --chain-id=$ORAI_CHAIN_ID
Validator management
Edit validator
oraid tx staking edit-validator \
--moniker=$NODENAME \
--identity=<your_keybase_id> \
--website="<your_website>" \
--details="<your_validator_description>" \
--chain-id=$ORAI_CHAIN_ID \
--from=$WALLET
Unjail validator
oraid tx slashing unjail \
--broadcast-mode=block \
--from=$WALLET \
--chain-id=$ORAI_CHAIN_ID \
--gas=auto
remove node
sudo systemctl stop oraid
sudo systemctl disable oraid
sudo rm /etc/systemd/system/oraid* -rf
sudo rm $(which oraid) -rf
sudo rm $HOME/.oraid* -rf
sudo rm $HOME/orai -rf
sed -i '/ORAI_/d' ~/.bash_profile
RPC
https://mainnet-orai-rpc.konsortech.xyz
API
https://mainnet-orai-api.konsortech.xyz
gRPC
mainnet-orai.konsortech.xyz:33090
Peers
efb9d22a6fdf7460f965982ae013d242bbbfd53c@mainnet-orai.konsortech.xyz:33656
State Sync
sudo systemctl stop oraid
cp $HOME/.oraid/data/priv_validator_state.json $HOME/.oraid/priv_validator_state.json.backup
oraid tendermint unsafe-reset-all --home $HOME/.oraid --keep-addr-book
SNAP_RPC="https://mainnet-orai-rpc.konsortech.xyz:443"
LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \
BLOCK_HEIGHT=$((LATEST_HEIGHT - 2000)); \
TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)
echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH
peers="efb9d22a6fdf7460f965982ae013d242bbbfd53c@mainnet-orai.konsortech.xyz:33656"
sed -i 's|^persistent_peers *=.*|persistent_peers = "'$peers'"|' $HOME/.oraid/config/config.toml
sed -i -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \
s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \
s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"|" $HOME/.oraid/config/config.toml
mv $HOME/.oraid/priv_validator_state.json.backup $HOME/.oraid/data/priv_validator_state.json
sudo systemctl restart oraid
sudo journalctl -u oraid -f --no-hostname -o cat
Daily Snapshot
https://explorer.konsortech.xyz/oraichain/staking