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