Skip to main content

Node install

System requirements

  • 4 or more physical CPU cores (recommended 8 CPU)
  • At least 200GB of NVME SSD disk storage. Hard drive I/O speed is crucial! (recommended 700GB+ NVMe)
  • At least 8GB of memory (RAM) (recommended 16GB)
  • At least 100mbps network bandwidth

Dependencies Installation

sudo apt update
sudo apt install -y curl git jq lz4 wget unzip build-essential
sudo rm -rf /usr/local/go
curl -L https://go.dev/dl/go1.21.6.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> $HOME/.bash_profile
source .bash_profile

Node Installation

IMPORTANT:

Choose binary depending on your version of Ubuntu 22.04/24+ or 20.04

Install Cosmovisor

go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@latest

Prepare binaries for Cosmovisor FOR UBUNTU 20.04 (in some cases must be used with sudo)


cd $HOME

mkdir -p $HOME/.shidod/cosmovisor/genesis/bin

curl -L -o shidod https://github.com/ShidoGlobal/shidochain-tera-upgrade/releases/download/tera/shidod

sudo cp shidod $HOME/.shidod/cosmovisor/genesis/bin/

sudo chmod +x $HOME/.shidod/cosmovisor/genesis/bin/shidod

rm -rf shidod

Prepare binaries for Cosmovisor FOR UBUNTU 22.04/24 (in some cases must be used with sudo)


cd $HOME

mkdir -p $HOME/.shidod/cosmovisor/genesis/bin

curl -L -o shidod https://github.com/ShidoGlobal/shidochain-tera-upgrade/releases/download/ubuntu24.04/shidod

sudo cp shidod $HOME/.shidod/cosmovisor/genesis/bin/

sudo chmod +x $HOME/.shidod/cosmovisor/genesis/bin/shidod

rm -rf shidod

ln -s $HOME/.shidod/cosmovisor/genesis $HOME/.shidod/cosmovisor/current -f
sudo ln -s $HOME/.shidod/cosmovisor/current/bin/sedashidodd /usr/local/bin/shidod -f

Download WASM

wget -O /usr/lib/libwasmvm.x86_64.so https://github.com/CosmWasm/wasmvm/releases/download/v2.1.4/libwasmvm.x86_64.so
sudo ldconfig

Initialize the node for validator

shidod init YourNodeName --chain-id shido_9008-1

Download genesis

wget -O genesis.json https://raw.githubusercontent.com/ShidoGlobal/mainnetShidoNodeSync/refs/heads/main/genesis.json --inet4-only
mv genesis.json ~/.shidod/config

Set node CLI configuration

shidod config set client chain-id shido_9008-1
shidod config set client keyring-backend file
  • Change timeout_commit
sed -i 's/timeout_commit = "3s"/timeout_commit = "1s"/g' "$HOME/.shidod/config/config.toml"

Set minimum gas price

sed -i -e 's|^minimum-gas-prices *=.*|minimum-gas-prices = "0.25shido"|' $HOME/.shidod/config/app.toml

Change laddr

sed -i -e "s%tcp://127.0.0.1:26657%tcp://0.0.0.0:26657%" $HOME/.shidod/config/config.toml

Set peers (updated: 11.23.2024)

[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26686,[email protected]:28656,[email protected]:26656,[email protected]:18356,[email protected]:23656
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.shidod/config/config.toml

Create a service (if needed)

sudo tee /etc/systemd/system/shidod.service > /dev/null << EOF
[Unit]
Description=Shido node service
After=network-online.target
[Service]
User=$USER
ExecStart=$(which cosmovisor) run start
Restart=on-failure
RestartSec=10
LimitNOFILE=65535
Environment="DAEMON_HOME=$HOME/.shidod"
Environment="DAEMON_NAME=shidod"
[Install]
WantedBy=multi-user.target
EOF
  • Enable & Start the service and check the logs
sudo systemctl daemon-reload
sudo systemctl enable shidod.service

sudo systemctl start shidod
sudo journalctl -u shidod -f --no-hostname -o cat

To speed up synchronization with the network, you can use our SNAPSHOTS