Setup Server
Update Packages and Install Prerequisites
sudo apt update && apt upgrade -y
sudo apt install curl git jq lz4 build-essential unzip fail2ban ufw -y
Set Firewall
sudo ufw default allow outgoing
sudo ufw default deny incoming
sudo ufw allow ssh
sudo ufw allow 9100
sudo ufw enable
Install GO
ver="1.21.6"
wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz"
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz"
rm "go$ver.linux-amd64.tar.gz"
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
source $HOME/.bash_profile
go version
Node Installation
cd $HOME
rm -rf side
git clone https://github.com/sideprotocol/side side
cd side
git checkout v0.7.0
make install
Set Configuration for your node
sided config chain-id side-testnet-3
sided config keyring-backend file
Init your node
ℹ️
You can change "MyNode" to anything you like
sided init MyNode --chain-in side-testnet-3
Add Genesis File and Addrbook
curl -Ls https://snapshots.indonode.net/side-t/genesis.json > $HOME/.side/config/genesis.json
curl -Ls https://snapshots.indonode.net/side-t/addrbook.json > $HOME/.side/config/addrbook.json
Configure Seeds and Peers
PEERS="$(curl -sS https://rpc.side-t.indonode.net:443/net_info | jq -r '.result.peers[] | "(.node_info.id)@(.remote_ip):(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|
|,|g;s|.$||')"
sed -i -e "s|^persistent_peers *=.*|persistent_peers = "$PEERS"|" $HOME/.side/config/config.toml
Set Pruning, Enable Prometheus, Gas Prices, and Indexer
PRUNING="custom"
PRUNING_KEEP_RECENT="100"
PRUNING_INTERVAL="19"
sed -i -e "s/^pruning *=.*/pruning = "$PRUNING"/" $HOME/.side/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = "$PRUNING_KEEP_RECENT"/" $HOME/.side/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = "$PRUNING_INTERVAL"/" $HOME/.side/config/app.toml
sed -i 's|^prometheus *=.*|prometheus = true|' $HOME/.side/config/config.toml
Set Service file
sudo tee /etc/systemd/system/sided.service > /dev/null <<EOF
[Unit]
Description=side testnet node
After=network-online.target
[Service]
User=$USER
ExecStart=$(which sided) start
Restart=always
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable sided
Download Latest Snapshot
curl -L https://snapshots.indonode.net/side-t/side-t-latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.side
[[ -f $HOME/.side/data/upgrade-info.json ]] && cp $HOME/.side/data/upgrade-info.json $HOME/.side/cosmovisor/genesis/upgrade-info.json
Start the Node
sudo systemctl restart sided
sudo journalctl -fu sided -o cat