ORAI Testnet node setup

Okay, so you’ve made it onto the whitelist or you are betting on people not being able to keep their nodes running with at least 95% uptime and want to have your node ready to go.

Here’s a quick overview of the commands you need to run on your VPS to get things up and running successfully (going by the current state of the docker image, some of the steps here will probably be superfluous in a few days when a new image is available, i’ll update this guide then).

Many thanks to the ORAI team and a few key people in the ORAI Technical telegram channel: @braloo, @MasterDanila and @duc_phamle – most of this guide is pieced together by stuff they posted. Check the official medium articles here and here.

Get yourself an Ubuntu 18.04 VPS from your favorite VPS provider conforming to the minimum requirements. Start putty and connect with the information provided by your VPS provider.

Remember, pasting in putty is done with Right-Click of the mouse, copying you do by selecting the text with your mouse (nothing else, just selecting).

Ok, here we go:

First create your testnet wallet here according to this video. Take note of your wallet name (use one without spaces) and your mnemonics (the 24 words), you’ll need those later on.

  1. Update the system:
sudo apt-get update
sudo apt-get upgrade
sudo apt update
sudo apt upgrade
  1. Install docker engine:
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
  1. Install docker compose:
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
  1. Grab the files from the team:
curl -OL https://raw.githubusercontent.com/oraichain/oraichain-static-files/master/setup.sh && chmod +x ./setup.sh && ./setup.sh
  1. Change orai.env:
sudo nano orai.env

Now change the following settings:

USER: Oraichain wallet name (use quotes if you have a space in it).
MNEMONIC: the 24 words from earlier.
PASS: the passphrase you entered in the previous step.
MONIKER: Your nodename (use 1 word or replace spaces with _).

Save and exit from nano (Ctrl-X and then Y). We’re almost done.

  1. Download the latest docker image, start it and check your logs:
sudo docker-compose pull orai
sudo docker-compose up -d --force-recreate
sudo docker logs -f orai_node

If everything went ok (and your node is synced) you should mostly see stuff like this:

If you see an occasional dial error, that’s no problem, that’s just a connection problem to one of the other nodes.

  1. Make yourself a validator: first we need to check if your wallet got imported correctly. For that we need to go into the docker image:
sudo docker exec -it orai_node bash

In docker we need to run:

oraicli keys list

Now it should ask you for your passphrase (the PASS from orai.env), if the list you get is empty we need to manually import your wallet (replace <YOUR_WALLET> with your wallet name):

oraicli keys add <YOUR_WALLET> --recover

Now you will be asked to enter your bip39 mnemonic, that’s the 24 words you got when you created your wallet. Copy & paste those and then enter a passphrase (that’s the password used to encrypt the wallet on your node, it needs to be minimum 8 characters), repeat it and remember it for later. You should get something along the lines of this when your done:

{
  "name": “<YOUR_WALLET>,
  "type": "local",
  "address": "orai1urn…”,
  "pubkey": "oraipub1add…”
}

Then run to verify:

oraicli keys list

If you get a valid response we can continue on to the last step, enabling the validator part of the node. But before you can do that you need to have received tokens in your testnet wallet from the team.

If you have, run the following command in docker:

fn createValidator

You might get asked for the passphrase (i didn’t though).

When the command is finished we leave docker:

exit

and restart it:

sudo docker-compose restart orai

To verify everything worked the way it should run:

curl http://0.0.0.0:1317/websocket/health

which should result in:

{"alive": true}

To check if your on the validator list you can either check Oraiscan – Oraichain explorer or enter the following cmd in docker:

sudo docker exec -it orai_node bash
oraicli query staking validators

Then see if your in the list (check for your moniker).

Hope this helps some people. If you still got errors hit me up on TG or ask in the Oraichain Technical Support channel.

Leave a comment