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
Create application symlinks
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