Chain ID: bitbadges-1 Block Height: Loading...
RPC Status:

Network Overview

BitBadges

BitBadges is a Cosmos-SDK blockchain enabling no-code tokenization with multi-chain NFTs, time-based credentials, transfer controls, and off-chain integrations for authentication, subscriptions, and token-gated experiences.

https://rpc-bitbadges.sychonix.com

https://api-bitbadges.sychonix.com

Installation

  • Install Dependencies
sudo apt update && sudo apt upgrade -y
sudo apt install curl iptables build-essential git wget jq make gcc nano tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev aria2 -y
  • Install Go
VER="1.21.6"
sudo rm -rf /usr/local/go
curl -Ls https://go.dev/dl/go$VER.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 $HOME/.bash_profile
go version
  • Install Binary
cd $HOME
mkdir -p $HOME/.bitbadgeschain
wget https://github.com/BitBadges/bitbadgeschain/releases/download/v12/bitbadgeschain-linux-amd64 -O /usr/local/bin/bitbadgeschaind
sudo chmod +x /usr/local/bin/bitbadgeschaind
  • Initialize The Node
bitbadgeschaind init $MONIKER --chain-id bitbadges-1
sed -i -e "s|^keyring-backend *=.*|keyring-backend = \"os\"|" $HOME/.bitbadgeschain/config/client.toml
sed -i -e "s|^chain-id *=.*|chain-id = \"bitbadges-1\"|" $HOME/.bitbadgeschain/config/client.toml
sed -i -e "s|^node *=.*|node = \"tcp://localhost:12257\"|" $HOME/.bitbadgeschain/config/client.toml
  • Download Genesis & Addrbook
curl -L https://snapshot.sychonix.com/mainnet/bitbadges/genesis.json > $HOME/.bitbadgeschain/config/genesis.json
curl -L https://snapshot.sychonix.com/mainnet/bitbadges/addrbook.json > $HOME/.bitbadgeschain/config/addrbook.json
  • Configure Seeds and Peers
SEEDS="d0605b76f3618e488db0ee417258f6296c078bf1@bitbadges-mainnet.sychonix.com:12256"
PEERS="$(curl -sS https://rpc-bitbadges.sychonix.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
sed -i -e "s|^seeds *=.*|seeds = '"$SEEDS"'|; s|^persistent_peers *=.*|persistent_peers = '"$PEERS"'|" $HOME/.bitbadgeschain/config/config.toml
  • Update Port Configuration
sed -i -e "s%:1317%:12217%; s%:8080%:12280%; s%:9090%:12290%; s%:9091%:12291%; s%:8545%:12245%; s%:8546%:12246%; s%:6065%:12265%" $HOME/.bitbadgeschain/config/app.toml
sed -i -e "s%:26658%:12258%; s%:26657%:12257%; s%:6060%:12260%; s%:26656%:12256%; s%:26660%:12261%" $HOME/.bitbadgeschain/config/config.toml
  • Customize Pruning
sed -i \
  -e 's|^pruning *=.*|pruning = "custom"|' \
  -e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
  -e 's|^pruning-interval *=.*|pruning-interval = "17"|' \
  $HOME/.bitbadgeschain/config/app.toml
  • Set Minimum Gas Price, Enable Prometheus, and Disable the Indexer
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0.025ubadge\"|" $HOME/.bitbadgeschain/config/app.toml
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.bitbadgeschain/config/config.toml
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.bitbadgeschain/config/config.toml
  • Create Service File
sudo tee /etc/systemd/system/bitbadgeschaind.service > /dev/null <<EOF
[Unit]
Description=bitbadges node service
After=network-online.target
[Service]
User=$USER
ExecStart=$(which bitbadgeschaind) start
Restart=always
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
  • Download Current Snapshot
curl "https://snapshot.sychonix.com/mainnet/bitbadges/bitbadges-snapshot.tar.lz4" | lz4 -dc - | tar -xf - -C "$HOME/.bitbadgeschain"
  • Enable the Service and Start the Node
sudo systemctl daemon-reload
sudo systemctl enable bitbadgeschaind.service
sudo systemctl restart bitbadgeschaind.service && sudo journalctl -u bitbadgeschaind.service -f --no-hostname -o cat
  • Create Validator
bitbadgeschaind tendermint show-validator
sudo nano $HOME/.bitbadgeschain/validator.json
  • Create validator.json file

{
  "pubkey": {"#pubkey"},
  "amount": "", 
  "moniker": "", 
  "identity": "",
  "website": "",
  "security": "", 
  "details": "", 
  "commission-rate": "0.05",
  "commission-max-rate": "0.2",
  "commission-max-change-rate": "0.05",
  "min-self-delegation": "1"
}
bitbadgeschaind tx staking create-validator $HOME/.bitbadgeschain/validator.json \
--from=wallet \
--chain-id=bitbadges-1 \
--gas-adjustment 1.5 \
--gas-prices 0.025ubadge \
--gas auto

Upgrade

No chain upgrades scheduled yet.

Peers

PEERS="$(curl -sS https://rpc-bitbadges.sychonix.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.bitbadgeschain/config/config.toml

Snapshot

Height: Loading... | Last updated: Loading... | Size: Loading...
  • Install dependencies, if needed
sudo apt update && sudo apt install aria2
  • Stop Service
sudo systemctl stop bitbadgeschaind
  • Back up priv_validator_state.json
cp $HOME/.bitbadgeschain/data/priv_validator_state.json $HOME/.bitbadgeschain/priv_validator_state.json.backup
  • Reset the data
bitbadgeschaind tendermint unsafe-reset-all --home $HOME/.bitbadgeschain --keep-addr-book
  • Download Snapshot
aria2c -x 16 -s 16 -o bitbadges-snapshot.tar.lz4 https://snapshot.sychonix.com/mainnet/bitbadges/bitbadges-snapshot.tar.lz4
lz4 -dc bitbadges-snapshot.tar.lz4 | tar -xf - -C $HOME/.bitbadgeschain
rm -v bitbadges-snapshot.tar.lz4
  • Restore Backup and Restart Service
mv $HOME/.bitbadgeschain/priv_validator_state.json.backup $HOME/.bitbadgeschain/data/priv_validator_state.json
sudo systemctl restart bitbadgeschaind && sudo journalctl -u bitbadgeschaind -f -o cat

Addrbook

curl -L https://snapshot.sychonix.com/mainnet/bitbadges/addrbook.json > $HOME/.bitbadgeschain/config/addrbook.json

Genesis

curl -L https://snapshot.sychonix.com/mainnet/bitbadges/genesis.json > $HOME/.bitbadgeschain/config/genesis.json

API

https://api-bitbadges.sychonix.com

RPC

https://rpc-bitbadges.sychonix.com

CLI Cheatsheet

Wallet Management

bitbadgeschaind keys add 

bitbadgeschaind keys add  --recover

bitbadgeschaind keys list 

bitbadgeschaind keys delete 

bitbadgeschaind keys export 

bitbadgeschaind keys import .backup

bitbadgeschaind q bank balances $(bitbadgeschaind keys show  -a)

Validator Management

Moniker

Identity

Details

Website

Security Contact

Amount

bitbadgeschaind tx staking create-validator \
--amount=1000000ubadge \
--pubkey=$(bitbadgeschaind tendermint show-validator) \
--moniker="" \
--identity="" \
--details="" \
--website="" \
--security-contact= \
--chain-id=bitbadges-1 \
--commission-rate=0.05 \
--commission-max-rate=0.20 \
--commission-max-change-rate=0.01 \
--min-self-delegation=1 \
--gas-prices 0.025ubadge \
--gas "auto" \
--gas-adjustment "1.5" \
--from wallet \
-y

bitbadgeschaind tx staking edit-validator \
--new-moniker="" \
--identity="" \
--details="" \
--website="" \
--chain-id=bitbadges-1 \
--commission-rate=0.07 \
--from wallet \
--gas=auto \
--gas-prices 0.025ubadge \
-y

bitbadgeschaind tx slashing unjail --from wallet --chain-id bitbadges-1 --gas auto --gas-adjustment 1.5  

bitbadgeschaind query slashing signing-info $(bitbadgeschaind tendermint show-validator)

bitbadgeschaind q staking validator $(bitbadgeschaind keys show wallet --bech val -a)

bitbadgeschaind q bank denom-metadata -oj | jq

bitbadgeschaind status 2>&1 | jq -r '.SyncInfo.catching_up // .sync_info.catching_up'

bitbadgeschaind status 2>&1 | jq -r '.SyncInfo.latest_block_height // .sync_info.latest_block_height'

Token Management

bitbadgeschaind tx distribution withdraw-all-rewards --from wallet --chain-id bitbadges-1 --gas auto --gas-adjustment 1.5 --gas-prices 0.025ubadge -y 

bitbadgeschaind tx distribution withdraw-rewards $(bitbadgeschaind keys show wallet --bech val -a) --commission --from wallet --chain-id bitbadges-1 --gas auto --gas-adjustment 1.5 --gas-prices 0.025ubadge -y 

bitbadgeschaind tx staking delegate $(bitbadgeschaind keys show wallet --bech val -a) 1000000ubadge --from wallet --chain-id bitbadges-1 --gas auto --gas-adjustment 1.5 --gas-prices 0.025ubadge -y 

bitbadgeschaind tx staking redelegate $(bitbadgeschaind keys show wallet --bech val -a)  1000000ubadge --from wallet --chain-id bitbadges-1 --gas auto --gas-adjustment 1.5 --gas-prices 0.025ubadge -y

bitbadgeschaind tx staking delegate  1000000ubadge --from  --chain-id bitbadges-1 --gas auto --gas-adjustment 1.5 --gas-prices 0.025ubadge -y 

bitbadgeschaind tx staking unbond $(bitbadgeschaind keys show wallet --bech val -a) 1000000ubadge --from wallet --chain-id bitbadges-1 --gas auto --gas-adjustment 1.5 --gas-prices 0.025ubadge -y

bitbadgeschaind tx bank send wallet  1000000ubadge --from wallet --chain-id bitbadges-1 --gas auto --gas-adjustment 1.5 --gas-prices 0.025ubadge -y

Service Management

sudo systemctl daemon-reload

sudo systemctl enable bitbadgeschaind

sudo systemctl disable bitbadgeschaind

sudo systemctl start bitbadgeschaind

sudo systemctl stop bitbadgeschaind

sudo systemctl restart bitbadgeschaind

sudo systemctl status bitbadgeschaind

sudo journalctl -u bitbadgeschaind -f --no-hostname -o cat

cd $HOME && sudo systemctl stop bitbadgeschaind && sudo systemctl disable bitbadgeschaind && sudo rm /etc/systemd/system/bitbadgeschaind.service && sudo systemctl daemon-reload && sudo rm -rf $(which bitbadgeschaind) && sudo rm -rf $HOME/.bitbadgeschain && sudo rm -rf $(which bitbadgeschaind)