Manual Install

Manual Installation

Install Dependencies

command dependencies
sudo apt update && sudo apt upgrade -y
sudo apt install curl git wget htop tmux build-essential jq make lz4 gcc unzip -y

Setup Moniker, Wallet, and PORT

change the WALLET, MONIKER, and CUSTOM_PORT environment

command setup bash_profile
echo "export WALLET="<your-wallet-name>"" >> $HOME/.bash_profile
echo "export MONIKER="<your-moniker-name>"" >> $HOME/.bash_profile
echo "export CUSTOM_PORT="<your-custom-port>"" >> $HOME/.bash_profile // Please note that updating the port is optional!
echo "export SIDE_CHAIN_ID="side-testnet-2"" >> $HOME/.bash_profile
source $HOME/.bash_profile

Install Go

command install golang
cd $HOME
VER="1.21.3" // change to the latest version or spesific version
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"
[ ! -f ~/.bash_profile ] && touch ~/.bash_profile
echo "export PATH=$PATH:/usr/local/go/bin:~/go/bin" >> ~/.bash_profile
source $HOME/.bash_profile
[ ! -d ~/go/bin ] && mkdir -p ~/go/bin

Build binary

command donwload binary
cd $HOME
rm -rf ~/humans
git clone https://github.com/humansdotai/humans
cd humans
git checkout tags/v0.2.2
make install

Config Init App

command config init
humansd config node tcp://localhost:${CUSTOM_PORT}657
humansd config keyring-backend os
humansd config chain-id humans_3000-31
humansd init "MONIKER" --chain-id humans_3000-31

Download Genesis and Addressbook

ℹ️

we are still in the process to provide genesis and address book files, we recommend to use files from the official side protocol or from itrocket.net below

Download genesis & addrbook file
wget -O $HOME/.humansd/config/genesis.json https://testnet-files.itrocket.net/side/genesis.json
wget -O $HOME/.humansd/config/addrbook.json https://testnet-files.itrocket.net/side/addrbook.json

Configuration config.toml and app.toml

this for configuration seeds and peers in file config.toml

ℹ️

we are still in the process to provide seeds and peers, we recommend to use from the official side protocol or from itrocket.net below

seeds & peers
SEEDS="9c14080752bdfa33f4624f83cd155e2d3976e303@side-testnet-seed.itrocket.net:45656"
PEERS="bbbf623474e377664673bde3256fc35a36ba0df1@side-testnet-peer.itrocket.net:45656,9f718219b4987c9625b7e656f231095cefba29e8@95.214.54.146:26858,51d27832df0ebda927247d11eec133323c8f4347@88.198.7.204:36656,d351a91e78c78aef28707c8658d4a8aeb3723e65@128.140.67.251:45656,bba0fc728d37aabf7e2c25ed1c097398158161f1@89.117.53.20:26656,85a16af0aa674b9d1c17c3f2f3a83f28f468174d@167.235.242.236:26656,e6575e39599afba59bbe3422284b22edfb1adafb@23.88.5.169:24656,afeb64d050f0a2c30fa1f9e95ead422f74a2b558@46.4.50.247:11356,4e0fb7292b57e78a73d31a19a609ba6a0e74118f@161.97.170.6:26656,a70265a28a06e5a7d525920514ae17406dbeffd0@104.236.66.76:26656,6def6906f05a0d10a671d3cd2005529d320bb3c7@152.228.208.164:26656"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.humansd/config/config.toml

command for custom port, please note that updating the port is optional!

custom ports app.toml
sed -i.bak -e "s%:1317%:${CUSTOM_PORT}317%g;
s%:8080%:${CUSTOM_PORT}080%g;
s%:9090%:${CUSTOM_PORT}090%g;
s%:9091%:${CUSTOM_PORT}091%g;
s%:8545%:${CUSTOM_PORT}545%g;
s%:8546%:${CUSTOM_PORT}546%g;
s%:6065%:${CUSTOM_PORT}065%g" $HOME/.humansd/config/app.toml
cunstom port config.toml
sed -i.bak -e "s%:26658%:${CUSTOM_PORT}658%g;
s%:26657%:${CUSTOM_PORT}657%g;
s%:6060%:${CUSTOM_PORT}060%g;
s%:26656%:${CUSTOM_PORT}656%g;
s%^external_address = \"\"%external_address = \"$(wget -qO- eth0.me):${CUSTOM_PORT}656\"%;
s%:26660%:${CUSTOM_PORT}660%g" $HOME/.humansd/config/config.toml

command for configuration prunning

command prunning
sed -i -e "s/^pruning *=.*/pruning = \"custom\"/" $HOME/.humansd/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.humansd/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"50\"/" $HOME/.humansd/config/app.toml

command set minimum gas price, enable prometheus and disable indexing

command gas price, enable prometheus, and disable indexing
sed -i 's|minimum-gas-prices =.*|minimum-gas-prices = "0.005uside"|g' $HOME/.humansd/config/app.toml
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.humansd/config/config.toml
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.humansd/config/config.toml

Create Service File

script service file
sudo tee /etc/systemd/system/humansd.service > /dev/null <<EOF
[Unit]
Description=Side node
After=network-online.target
[Service]
User=$USER
WorkingDirectory=$HOME/.humansd
ExecStart=$(which humansd) start --home $HOME/.humansd
Restart=on-failure
RestartSec=5
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF

Enable and start service

script service file
sudo systemctl daemon-reload
sudo systemctl enable humansd
sudo systemctl restart humansd && sudo journalctl -u humansd -f

Download snapshot

download snapshot
humansd tendermint unsafe-reset-all --home $HOME/.humansd
if curl -s --head curl https://testnet-files.itrocket.net/side/snap_side.tar.lz4 | head -n 1 | grep "200" > /dev/null; then
  curl https://testnet-files.itrocket.net/side/snap_side.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.humansd
    else
  echo no have snap
fi