Also, running on testnet will feature different requirements.
bash <(curl -s https://raw.githubusercontent.com/UnityNodes/scripts/main/side-protocol/install-side.sh)
# Install dependencies for building from source
sudo apt update
sudo apt install -y lz4 jq make git gcc build-essential curl chrony unzip gzip snapd tmux bc
# Install Go
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
Replace "NODE_MONIKER" with your name moniker
# Clone project repository
cd $HOME
rm -rf sidechain
git clone https://github.com/sideprotocol/side.git
cd side
git checkout v0.8.1
# Build binary
make install
# Set node CLI configuration
sided config chain-id S2-testnet-2
sided config keyring-backend test
sided config node tcp://localhost:26657
# Initialize the node
sided init "NODE_MONIKER" --chain-id S2-testnet-2
# Download genesis,addrbook files
curl -Ls https://snapshots-testnet.unitynodes.com/side-testnet/genesis.json > $HOME/.side/config/genesis.json
curl -L https://snapshots-testnet.unitynodes.com/side-testnet/addrbook.json > $HOME/.side/config/addrbook.json
# Set seeds
SEEDS="9c14080752bdfa33f4624f83cd155e2d3976e303@side-testnet-seed.itrocket.net:45656"
PEERS="bbbf623474e377664673bde3256fc35a36ba0df1@side-testnet-peer.itrocket.net:45656,3003f4290ea8e3f5674e5d5f687ef8cd4b558036@152.228.208.164:26656,85a16af0aa674b9d1c17c3f2f3a83f28f468174d@167.235.242.236:26656,541c500114bc5516c677f6a79a5bdfec13062e91@37.27.59.176:17456,bf6869c7192e8353765398e826e7934071710d68@81.17.100.237:26656,cb17dadfca6b899af4c807ad56a9c1b1d53c5cf9@134.209.179.45:26656,010e9ba253ce06ab589198ff5717c0fd54f3070e@142.132.152.46:32656,251bffe0182432be50f0569ba3aadf84267df145@167.235.178.134:26356,3247baecb8d37c8429530b7fd2efccf12e1bda86@148.251.235.130:21656"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.side/config/config.toml
# Set minimum gas price
sed -i -e 's|^minimum-gas-prices *=.*|minimum-gas-prices = "0.005uside"|' $HOME/.side/config/app.toml
# Set pruning
sed -i \
-e 's|^pruning *=.*|pruning = "custom"|' \
-e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
-e 's|^pruning-interval *=.*|pruning-interval = "50"|' \
$HOME/.side/config/app.toml
# Download latest chain data snapshot
curl https://snapshots-testnet.unitynodes.com/side-testnet/side-testnet-latest.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.side
# Create a service
sudo tee /etc/systemd/system/sided.service > /dev/null << EOF
[Unit]
Description=Side node service
After=network-online.target
[Service]
User=$USER
ExecStart=$(which sided) start
Restart=on-failure
RestartSec=10
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable sided.service
# Start the service and check the logs
sudo systemctl start sided.service
sudo journalctl -u sided.service -f -o cat
Save all information after entering the command, without this you will not be able to restore data to the wallet. SAVE SEED PHRASE (12 words).
cat $HOME/.side/config/priv_validator_key.json
sided tx staking create-validator \
--amount 1000000uside \
--pubkey=$(sided tendermint show-validator) \
--moniker="$NODE_MONIKER" \
--chain-id=S2-testnet-2 \
--commission-rate=0.1 \
--commission-max-rate=0.2 \
--commission-max-change-rate=0.05 \
--min-self-delegation=1 \
--fees=10000uside \
--from=YOUR_WALLET_NAME \
-y