How to run a Shido Validator Node on Ubuntu

Shidoverse
Admin
Joined: 2024-01-21 23:42:10
2024-04-27 18:39:28

Minimum Hardware Requirements

• 8 CPU Core

• 16 GB RAM

• 1 TB SSD

• OS Ubuntu

------------------------------------------------------------------------------------------

THIS GUIDE ASSUMES THAT YOU ARE FOLLOWING EACH STEP ON UBUNTU 22.04 OR GREATER

MUST BE SYNCED WITH UTC TIMEZONE.

------------------------------------------------------------------------------------------

*** We make no guarentee that this guide is perfect, so we must say use at your own risk

------------------------------------------------------------------------------------------

STEP 1: Connect to your machine (over ssh) 

 

STEP 2: Gain admin rights

 sudo su

 

STEP 3: Go to opt directory to avoid permission issues

 cd /opt

 

STEP 4: Clone the SHIDO GITHUB directory

 git clone https://github.com/ShidoGlobal/mainnetShidoNodeSync.git

 

STEP 5: Install GO langage with the provided script

 sh mainnetShidoNodeSync/install-go.sh

 

STEP 6: Exit from terminal to take in account go command in path

 exit

 

STEP 7: Gain admin rights back

 sudo su

 

STEP 8: Check GO langage installation

 go version

 

STEP 9: Install requirements

 apt install -y build-essential jq wget unzip

 

STEP 10: Copy requirements

 cp /opt/mainnetShidoNodeSync/ubuntu22.04build/shidod /usr/local/bin/ chmod +x /usr/local/bin/shidod

 cp /opt/mainnetShidoNodeSync/libwasmvm.x86_64.so /usr/lib

 

STEP 11: Install cosmosdk with go lang

 go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@v1.5.0

 

STEP 12: Check everything is fine

 shidod version

 

STEP 13: Define chain ID

shidod config chain-id shido_9008-1

 

STEP 14: init (generates all files: client, app, config, genesis)

 shidod init EXAMPLE_NODE_NAME --chain-id "shido_9008-1"

**instead of “EXAMPLE_NODE_NAME” enter your desired node name here **

 

STEP 15: Modify /config/config.toml from laddr = "tcp://127.0.0.1:26657" to laddr = "tcp://0.0.0.0:26657"

 nano /root/.shidod/config/config.toml

 

STEP 16: Clear the generated genesis.json file (should be left with a blank file)

 nano /root/.shidod/config/genesis.json

 

STEP 17: Copy the genesis.json from cloned repo

 cp /opt/mainnetShidoNodeSync/genesis.json /root/.shidod/config/

 

STEP 18: Add persistent peers from shido_ubuntu_node.sh -> "8c1c28eee44 [...]" https://github.com/ShidoGlobal/mainnetShidoNodeSync/blob/main/shido_ubuntu_node.sh

 nano /root/.shidod/config/config.toml

at the time of writing these were the persistent peers:

 7ed728831ff441d18a8556b64afcaebc31b68c74@3.76.57.158:26656,f28f693053306fba8bf59c4a54b7bd9f89de7ebb@18.193.227.128:26656,181fcc5672fee87751eb369491744e85ba0651f5@18.153.233.126:26656,8d46e292347951d651486611abac77825a0c83f8@18.199.25.117:26656,cdf19a7234ee8ec12519f6ad066408f09e1b73e0@15.157.50.94:26656

 

STEP 19: Check your node ID

 shidod tendermint show-node-id 

 

STEP 20: Start syncing

 shidod start

 

STEP 21: Once the syncing is finished

 shidod tendermint show-validator

 shidod keys list

 shidod keys add "EXAMPLE_NODE_NAME" --keyring-backend "os" --algo "eth_secp256k1" --home "/root/.shidod"

** Be sure to change EXAMPLE_NODE_NAME to your node name **

*Choose a passphrase and enter it
*Save all the text somewere else

 

STEP 22: Check keys again shidod keys list

 shidod keys list

 

STEP 23: Create a New Wallet from KEPLR BROWSER EXTENSION 

* If you don't have Keplr Browser Extension installed already go to: 

https://chromewebstore.google.com/detail/keplr/dmkamcknogkgcdfhhbddcghachkejeap?hl=en

 

STEP 24: Import that new wallet (key/passphrase/seed) into your node 

 shidod keys add "EXAMPLE_NODE_NAME" --recover    #you have to provide the 12 words here

** Be sure to change EXAMPLE_NODE_NAME to your node name **


*choose a passphrase that will permit to “open” that key

 

STEP 25:

Go to https://delegator.shidoscan.com/validators and connect with the 12 words

Click on “Become a Delegator”

 

STEP 26: Create your validator into your node

 shidod tx staking create-validator --amount=1000000000000000000shido --pubkey=$(shidod tendermint show-validator) --from="EXAMPLE_NODE_NAME" --commission-rate="0.05" -commission-max-rate="0.20" --commission-max-change-rate="0.01" --min-selfdelegation="1000000"

** Be sure to change EXAMPLE_NODE_NAME to your node name **

 

STEP 27: Sign the transaction

* Copy and save your validator_address so you have it.

 

...NO MORE STEPS...   You're node should be up and running 

CONGRATS!