⚙️ Installation

🛠️ Hardware Requirements

Also, running on testnet will feature different requirements.

Additional requirements

⚡ Automatic installation

bash <(curl -s https://raw.githubusercontent.com/UnityNodes/scripts/main/side-protocol/install-side.sh)

📝 Manual installation

Installation packeges and dependencies

# 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

Install node

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

📝 Create Validator

1️⃣ Create wallet

sided keys add wallet

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).

2️⃣ Show priv_validator_key.json


cat $HOME/.side/config/priv_validator_key.json
SAVE YOUR PRIVATE KEY AFTER ENTERING THE COMMAND

3️⃣ Create validator

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

Last updated