BeraChain Validator Tools & Infrastructure Documentation
Complete infrastructure toolkit for BeraChain validators and developers. Access our professional-grade services including RPC nodes, API endpoints, daily snapshots, and real-time metrics. Our berachain infrastructure features optimized pruning configurations, automated backups, and comprehensive monitoring solutions. Supporting both mainnet and testnet environments with dedicated endpoints, state-sync services, and detailed technical documentation for seamless network participation and development.
Useful set of commands for node operators. From key management to chain governance.
#Daemon configuration
beacond config node {{ rpc }}
beacond config chain-id bartio-beacon-80086
#🔑 Key management
#Add new key
beacond keys add wallet
#Recover existing key
beacond keys add wallet --recover
#List all keys
beacond keys list
#Delete key
beacond keys delete wallet
#Export key to the file
beacond keys export wallet
#Import key from the file
beacond keys import wallet wallet.backup
#Query wallet balance
beacond q bank balances $(beacond keys show wallet -a)
#👷 Validator management
ⓘ
Please make sure you have adjusted **moniker**, **identity**, **details** and **website** to match your values.
#Create new validator
beacond tx staking create-validator \
--amount 10000000abgt \
--pubkey $(beacond tendermint show-validator) \
--moniker "YOUR_MONIKER_NAME" \
--identity "YOUR_KEYBASE_ID" \
--details "YOUR_DETAILS" \
--website "YOUR_WEBSITE_URL" \
--chain-id bartio-beacon-80086 \
--commission-rate 0.05 \
--commission-max-rate 0.20 \
--commission-max-change-rate 0.01 \
--min-self-delegation 1 \
--from wallet \
--gas-adjustment 1.4 \
--gas auto \
--gas-prices 10000000abgt \
-y
#Edit existing validator
beacond tx staking edit-validator \
--new-moniker "YOUR_MONIKER_NAME" \
--identity "YOUR_KEYBASE_ID" \
--details "YOUR_DETAILS" \
--website "YOUR_WEBSITE_URL" \
--chain-id bartio-beacon-80086 \
--commission-rate 0.05 \
--from wallet \
--gas-adjustment 1.4 \
--gas auto \
--gas-prices 10000000abgt \
-y
#Unjail validator
beacond tx slashing unjail --from wallet --chain-id bartio-beacon-80086 --gas-adjustment 1.4 --gas auto --gas-prices 10000000abgt -y
#Jail reason
beacond query slashing signing-info $(beacond tendermint show-validator)
#List all active validators
beacond q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " \t " + .description.moniker' | sort -gr | nl
#List all inactive validators
beacond q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_UNBONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " \t " + .description.moniker' | sort -gr | nl
#View validator details
beacond q staking validator $(beacond keys show wallet --bech val -a)
#💲 Token management
#Withdraw rewards from all validators
beacond tx distribution withdraw-all-rewards --from wallet --chain-id bartio-beacon-80086 --gas-adjustment 1.4 --gas auto --gas-prices 10000000abgt -y
#Withdraw commission and rewards from your validator
beacond tx distribution withdraw-rewards $(beacond keys show wallet --bech val -a) --commission --from wallet --chain-id bartio-beacon-80086 --gas-adjustment 1.4 --gas auto --gas-prices 10000000abgt -y
#Delegate tokens to yourself
beacond tx staking delegate $(beacond keys show wallet --bech val -a) 10000000abgt --from wallet --chain-id bartio-beacon-80086 --gas-adjustment 1.4 --gas auto --gas-prices 10000000abgt -y
#Delegate tokens to validator
beacond tx staking delegate 10000000abgt --from wallet --chain-id bartio-beacon-80086 --gas-adjustment 1.4 --gas auto --gas-prices 10000000abgt -y
#Redelegate tokens to another validator
beacond tx staking redelegate $(beacond keys show wallet --bech val -a) 10000000abgt --from wallet --chain-id bartio-beacon-80086 --gas-adjustment 1.4 --gas auto --gas-prices 10000000abgt -y
#Unbond tokens from your validator
beacond tx staking unbond $(beacond keys show wallet --bech val -a) 10000000abgt --from wallet --chain-id bartio-beacon-80086 --gas-adjustment 1.4 --gas auto --gas-prices 10000000abgt -y
#Send tokens to the wallet
beacond tx bank send wallet 10000000abgt --from wallet --chain-id bartio-beacon-80086 --gas-adjustment 1.4 --gas auto --gas-prices 10000000abgt -y
#🗳 Governance
#List all proposals
beacond query gov proposals
#View proposal by id
beacond query gov proposal 1
#Vote 'Yes'
beacond tx gov vote 1 yes --from wallet --chain-id bartio-beacon-80086 --gas-adjustment 1.4 --gas auto --gas-prices 10000000abgt -y
#Vote 'No'
beacond tx gov vote 1 no --from wallet --chain-id bartio-beacon-80086 --gas-adjustment 1.4 --gas auto --gas-prices 10000000abgt -y
#Vote 'Abstain'
beacond tx gov vote 1 abstain --from wallet --chain-id bartio-beacon-80086 --gas-adjustment 1.4 --gas auto --gas-prices 10000000abgt -y
#Vote 'NoWithVeto'
beacond tx gov vote 1 NoWithVeto --from wallet --chain-id bartio-beacon-80086 --gas-adjustment 1.4 --gas auto --gas-prices 10000000abgt -y
#⚡️ Utility
#Update ports
CUSTOM_PORT=254
sed -i -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${CUSTOM_PORT}58\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${CUSTOM_PORT}57\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${CUSTOM_PORT}60\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${CUSTOM_PORT}56\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${CUSTOM_PORT}66\"%" $HOME/.beacond/config/config.toml
sed -i -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:${CUSTOM_PORT}17\"%; s%^address = \":8080\"%address = \":${CUSTOM_PORT}80\"%; s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:${CUSTOM_PORT}90\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:${CUSTOM_PORT}91\"%" $HOME/.beacond/config/app.toml
#Update Indexer
Disable indexer
sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.beacond/config/config.toml
Enable indexer
sed -i -e 's|^indexer *=.*|indexer = "kv"|' $HOME/.beacond/config/config.toml
#Update pruning
sed -i \
-e 's|^pruning *=.*|pruning = "custom"|' \
-e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "107"|' \
-e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
-e 's|^pruning-interval *=.*|pruning-interval = "13"|' \
$HOME/.beacond/config/app.toml
#🚨 Maintenance
#Get validator info
beacond status 2>&1 | jq .ValidatorInfo
#Get sync info
beacond status 2>&1 | jq .SyncInfo
#Get node peer
echo $(beacond tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.beacond/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
#Check if validator key is correct
[[ $(beacond q staking validator $(beacond keys show wallet --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(beacond status | jq -r .ValidatorInfo.PubKey.value) ]] && echo -e "\n\e[1m\e[32mTrue\e[0m\n" || echo -e "\n\e[1m\e[31mFalse\e[0m\n"
#Get live peers
curl -sS http://localhost:25457/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}'
#Set minimum gas price
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"10000000abgt\"/" $HOME/.beacond/config/app.toml
#Enable prometheus
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.beacond/config/config.toml
#Reset chain data
beacond tendermint unsafe-reset-all --home $HOME/.beacond --keep-addr-book
#Remove node
⚠
Please, before proceeding with the next step! All chain data will be lost! Make sure you have backed up your **priv_validator_key.json**!
cd $HOME
sudo systemctl stop beacond
sudo systemctl disable beacond
sudo rm /etc/systemd/system/beacond.service
sudo systemctl daemon-reload
rm -f $(which beacond)
rm -rf $HOME/.beacond
rm -rf $HOME/beacond
#⚙️ Service Management
#Reload beacond configuration
sudo systemctl daemon-reload
#Enable beacond
sudo systemctl enable beacond
#Disable beacond
sudo systemctl disable beacond
#Start beacond
sudo systemctl start beacond
#Stop beacond
sudo systemctl stop beacond
#Restart beacond
sudo systemctl restart beacond
#Check beacond status
sudo systemctl status beacond
#Check beacond logs
sudo journalctl -u beacond -f --no-hostname -o cat
Chain ID:
The unique identifier for the blockchain network.
bartio-beacon-80086
Latest Version:
The latest version of the chain software.
v0.2.0-alpha.8
Github:
The Github repository hosting the code for the network in question.
Public endpoints
Public endpoints are rate limited but can be used for basic CLI usage, node syncing or testing environments. Request an API key for enhanced access limits, we offer free trial periods of 14 days and cheap shared access plans from $50 a month.
Json-RPC
JSON-RPC endpoint for EVM interactions and queries. This is the main endpoint for Ethereum like networks but might co-exist alongside a consensus RPCs on Cosmos like networks that have a separate consensus endpoint like Berachain, Story and Evmos.
True
© 2022 Lavender.Five Nodes. All rights reserved.