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

Download & copy binary FOR UBUNTU 20.04 (in some cases must be used with sudo)

cd $HOME
curl -L -o shidod https://github.com/ShidoGlobal/mainnet-enso-upgrade/releases/download/ubuntu20.04/shidod
sudo cp shidod /usr/local/bin/
sudo chmod +x /usr/local/bin/shidod

Download & copy binary FOR UBUNTU 22.04/24 (in some cases must be used with sudo)

cd $HOME
curl -L -o shidod https://github.com/ShidoGlobal/mainnet-enso-upgrade/releases/download/ubuntu22.04/shidod
sudo cp shidod /usr/local/bin/
sudo chmod +x /usr/local/bin/shidod

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=/usr/local/bin/shidod start
Restart=on-failure
RestartSec=10
LimitNOFILE=4096
[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