BonyNode❤️ ChainServices
🔋EXPLORER🔋
  • 👽BonyNode NEW SERVICE!
  • 🌄BonyNode Explorer
  • 💸Supported IBC Relayers
  • 💚Supported Chains
  • 🧙‍♀️Monitoring Tools
  • 🏝️Governance Proposals Bots
  • Mainnet
    • 🚀TIMPI
      • Installation
      • Upgrade
      • Snapshot
      • Useful commands
    • 💫COSMOS HUB
      • Installation
      • Upgrade
      • Snapshot
      • State sync
      • Useful commands
    • 💫OSMOSIS
      • Installation
      • Upgrade
      • Snapshot
      • State sync
      • Useful commands
    • 💫ARCHWAY
      • Installation
      • Upgrade
      • Snapshot
      • State sync
      • Useful commands
    • 💫BLOCKX
      • Installation
      • Upgrade
      • Snapshot
      • State sync
      • Useful commands
  • Testnet
    • 🚀ANDROMEDA
      • Installation
      • Upgrade
      • Snapshot
      • State sync
      • Useful commands
    • 🚀ARCHWAY
      • Installation
      • Upgrade
      • Snapshot
      • State sync
      • Useful commands
    • 🚀AIRCHAINS
      • Installation
      • Upgrade
      • Snapshot
      • State sync
      • Useful commands
    • 🚀CARDCHAIN
      • Installation
      • Upgrade
      • Snapshot
      • State sync
      • Useful commands
    • 🚀CROSSFI
      • Installation
      • Upgrade
      • Snapshot
      • State sync
      • Useful commands
      • Grant Validators
      • Testnet Guide
    • 🚀CELESTIA
      • Installation
      • Upgrade
      • Snapshot
      • State sync
      • Useful commands
    • 🚀COMPOSABLE
      • Installation
      • Upgrade
      • Snapshot
      • State sync
      • Useful commands
    • 🚀INITIA
    • 🚀DYMENSION
      • Installation
      • Upgrade
      • Snapshot
      • State sync
      • Useful commands
    • 🚀ELYS
      • Installation
      • Upgrade
      • Snapshot
      • State sync
      • Useful commands
    • 🚀HYPERSIGN
      • Installation
      • Upgrade
      • Snapshot
      • State sync
      • Useful commands
    • 🚀LAVA
      • Installation
      • Upgrade
      • Snapshot
      • State sync
      • Useful commands
      • Public RPC, API
    • 🚀NAMADA
      • Install
      • Public RPC
      • Useful Commands
    • 🚀NOLUS
      • Installation
      • Upgrade
      • Snapshot
      • State sync
      • Useful commands
    • 🚀OJO
      • Installation
      • Upgrade
      • Snapshot
      • State sync
      • Useful commands
    • 🚀OLLO
      • Installation
      • Upgrade
      • Snapshot
      • State sync
      • Useful commands
    • 🚀SIDE
      • Installation
      • Upgrade
      • Snapshot
      • State sync
      • Useful commands
  • 🧩GEAR PROTOCOL
  • 🧩MUON
  • 🧩MASSA
  • 🧩SHARDEUM
  • 🧩SUBSPACE
  • 🧩STARKNET
  • 🧩TAIKO
  • Team BonyNode
    • 🟩About Team
    • 🟢Сommunity Network
Powered by GitBook
On this page
  • Manual Installation
  • Automatic Installation
  • Create wallet
  • Create validator
  • Monitoring
  • Security
  • Delete node
  1. Testnet
  2. SIDE

Installation

Manual Installation

Official DocumentationRecommended Hardware: 4 Cores, 8GB RAM, 200GB of storage (NVME)

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

Node Test Name Wallet Port 45

# install go, if needed
cd $HOME
VER="1.21.3"
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

# set vars
echo "export WALLET="wallet"" >> $HOME/.bash_profile
echo "export MONIKER="test"" >> $HOME/.bash_profile
echo "export SIDE_CHAIN_ID="side-testnet-3"" >> $HOME/.bash_profile
echo "export SIDE_PORT="45"" >> $HOME/.bash_profile
source $HOME/.bash_profile

# download binary
cd $HOME
rm -rf side
git clone https://github.com/sideprotocol/side.git
cd side
git checkout v0.7.0
make install

# config and init app
sided config node tcp://localhost:${SIDE_PORT}657
sided config keyring-backend os
sided config chain-id side-testnet-3
sided init "test" --chain-id side-testnet-3

# download genesis and addrbook
wget -O $HOME/.side/config/genesis.json https://testnet-files.itrocket.net/side/genesis.json
wget -O $HOME/.side/config/addrbook.json https://testnet-files.itrocket.net/side/addrbook.json

# set seeds and peers
SEEDS="9c14080752bdfa33f4624f83cd155e2d3976e303@side-testnet-seed.itrocket.net:45656"
PEERS="bbbf623474e377664673bde3256fc35a36ba0df1@side-testnet-peer.itrocket.net:45656,[email protected]:11656,[email protected]:21656,[email protected]:34656,[email protected]:30004,[email protected]:34656,[email protected]:34656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.side/config/config.toml

# set custom ports in app.toml
sed -i.bak -e "s%:1317%:${SIDE_PORT}317%g;
s%:8080%:${SIDE_PORT}080%g;
s%:9090%:${SIDE_PORT}090%g;
s%:9091%:${SIDE_PORT}091%g;
s%:8545%:${SIDE_PORT}545%g;
s%:8546%:${SIDE_PORT}546%g;
s%:6065%:${SIDE_PORT}065%g" $HOME/.side/config/app.toml

# set custom ports in config.toml file
sed -i.bak -e "s%:26658%:${SIDE_PORT}658%g;
s%:26657%:${SIDE_PORT}657%g;
s%:6060%:${SIDE_PORT}060%g;
s%:26656%:${SIDE_PORT}656%g;
s%^external_address = \"\"%external_address = \"$(wget -qO- eth0.me):${SIDE_PORT}656\"%;
s%:26660%:${SIDE_PORT}660%g" $HOME/.side/config/config.toml

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

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

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

# reset and download snapshot
sided tendermint unsafe-reset-all --home $HOME/.side
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/.side
    else
  echo no have snap
fi

# enable and start service
sudo systemctl daemon-reload
sudo systemctl enable sided
sudo systemctl restart sided && sudo journalctl -u sided -f

Automatic Installation

pruning: custom: 100/0/10 | indexer: null

source <(curl -s https://itrocket.net/api/testnet/side/autoinstall/)

Create wallet

# to create a new wallet, use the following command. don’t forget to save the mnemonic
sided keys add $WALLET

# to restore exexuting wallet, use the following command
sided keys add $WALLET --recover

# save wallet and validator address
WALLET_ADDRESS=$(sided keys show $WALLET -a)
VALOPER_ADDRESS=$(sided keys show $WALLET --bech val -a)
echo "export WALLET_ADDRESS="$WALLET_ADDRESS >> $HOME/.bash_profile
echo "export VALOPER_ADDRESS="$VALOPER_ADDRESS >> $HOME/.bash_profile
source $HOME/.bash_profile

# check sync status, once your node is fully synced, the output from above will print "false"
sided status 2>&1 | jq .SyncInfo

# before creating a validator, you need to fund your wallet and check balance
sided query bank balances $WALLET_ADDRESS

Create validator

MonikerIdentityDetailsAmount, usideCommission rateCommission max rateCommission max change rate

sided tx staking create-validator \
--amount 1000000uside \
--from $WALLET \
--commission-rate 0.1 \
--commission-max-rate 0.2 \
--commission-max-change-rate 0.01 \
--min-self-delegation 1 \
--pubkey $(sided tendermint show-validator) \
--moniker "test" \
--identity "" \
--details "I love blockchain ❤️" \
--chain-id side-testnet-3 \
--gas auto --fees 1000uside \
-y

Monitoring

Security

To protect you keys please don`t share your privkey, mnemonic and follow a basic security rules

Set up ssh keys for authentication

Firewall security

Set the default to allow outgoing connections, deny all incoming, allow ssh and node p2p port

sudo ufw default allow outgoing 
sudo ufw default deny incoming 
sudo ufw allow ssh/tcp 
sudo ufw allow ${SIDE_PORT}656/tcp
sudo ufw enable

Delete node

sudo systemctl stop sided
sudo systemctl disable sided
sudo rm -rf /etc/systemd/system/sided.service
sudo rm $(which sided)
sudo rm -rf $HOME/.side
sed -i "/SIDE_/d" $HOME/.bash_profile
PreviousSIDENextUpgrade

Last updated 1 year ago

If you want to have set up a monitoring and alert system use

You can use this to configure ssh authentication and disable password authentication on your server

🚀
our cosmos nodes monitoring guide with tenderduty
guide