Mainnet
BitBadges
- Chain ID
- Version
- Go
For Ubuntu 22.04 or later. The node listens on ports starting with your port prefix (e.g. 26657 becomes 21657), so several nodes can share a server.
01Install tools
sudo apt update && sudo apt upgrade -y sudo apt install -y curl git wget jq make gcc build-essential lz4 zstd tmux htop unzip02Install Go
cd $HOME VER="<go-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 $HOME/.bash_profile ] && touch $HOME/.bash_profile echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> $HOME/.bash_profile source $HOME/.bash_profile mkdir -p $HOME/go/bin go version03Build the binary
cd $HOME rm -rf bitbadgeschain git clone https://github.com/bitbadges/bitbadgeschain.git bitbadgeschain cd bitbadgeschain git checkout <version> make install bitbadgeschaind version --long | grep -E '^(version|commit):'04Install Cosmovisor
go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@latest DAEMON_HOME=$HOME/.bitbadgeschain DAEMON_NAME=bitbadgeschaind cosmovisor init $HOME/go/bin/bitbadgeschaind05Create the service
sudo tee /etc/systemd/system/bitbadgeschaind.service > /dev/null << EOF [Unit] Description=BitBadges node After=network-online.target [Service] User=$USER ExecStart=$(which cosmovisor) run start WorkingDirectory=$HOME/.bitbadgeschain Restart=on-failure RestartSec=10 LimitNOFILE=65535 Environment="DAEMON_HOME=$HOME/.bitbadgeschain" Environment="DAEMON_NAME=bitbadgeschaind" Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=true" Environment="DAEMON_RESTART_AFTER_UPGRADE=true" Environment="UNSAFE_SKIP_BACKUP=true" Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$HOME/.bitbadgeschain/cosmovisor/current/bin" [Install] WantedBy=multi-user.target EOF sudo systemctl daemon-reload sudo systemctl enable bitbadgeschaind06Set variables
echo 'export WALLET="wallet"' >> $HOME/.bash_profile echo 'export MONIKER="Your-Moniker"' >> $HOME/.bash_profile echo 'export BADGE_CHAIN_ID="<chain-id>"' >> $HOME/.bash_profile echo 'export BADGE_PORT="21"' >> $HOME/.bash_profile source $HOME/.bash_profile07Initialize the node
bitbadgeschaind init "$MONIKER" --chain-id $BADGE_CHAIN_ID --home $HOME/.bitbadgeschain bitbadgeschaind config set client chain-id $BADGE_CHAIN_ID bitbadgeschaind config set client keyring-backend os bitbadgeschaind config set client node tcp://localhost:$BADGE_PORT65708Custom ports
sed -i.bak -e "s%:1317%:$BADGE_PORT317%g; s%:8080%:$BADGE_PORT080%g; s%:9090%:$BADGE_PORT090%g; s%:9091%:$BADGE_PORT091%g; s%:8545%:$BADGE_PORT545%g; s%:8546%:$BADGE_PORT546%g" $HOME/.bitbadgeschain/config/app.toml sed -i.bak -e "s%:26658%:$BADGE_PORT658%g; s%:26657%:$BADGE_PORT657%g; s%:6060%:$BADGE_PORT060%g; s%:26656%:$BADGE_PORT656%g; s%^external_address = \"\"%external_address = \"$(wget -qO- eth0.me):$BADGE_PORT656\"%; s%:26660%:$BADGE_PORT660%g" $HOME/.bitbadgeschain/config/config.toml09Minimum gas price
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0.00025ubadge\"|" $HOME/.bitbadgeschain/config/app.toml10Pruning
sed -i -e "s/^pruning *=.*/pruning = \"custom\"/" $HOME/.bitbadgeschain/config/app.toml sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.bitbadgeschain/config/app.toml sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"19\"/" $HOME/.bitbadgeschain/config/app.toml11Disable the indexer
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.bitbadgeschain/config/config.toml12Download the snapshot
curl -L https://bitbadges-mainnet-services.luckystar.asia/bitbadges/bitbadges-1_latest.tar.lz4 | lz4 -dc | tar -xf - -C $HOME/.bitbadgeschain/data mkdir -p $HOME/.bitbadgeschain/wasm curl -L https://bitbadges-mainnet-services.luckystar.asia/bitbadges/wasm_bitbadges-1_latest.tar.lz4 | lz4 -dc | tar -xf - -C $HOME/.bitbadgeschain/wasm13Start the node
sudo systemctl restart bitbadgeschaind && sudo journalctl -fu bitbadgeschaind -o cat14Check sync
curl -s localhost:$BADGE_PORT657/status | jq .result.sync_info