Mainnet
Bitway

Installation Guide
Node CLI
Public Endpoint
State Sync
Snapshot
Custom Explorers
Decentralization Maps
Installation Guide
Installation Guide
Node CLI
Public Endpoint
State Sync
Snapshot
Custom Explorers
Decentralization Maps
How To Install Full Node Bitway Mainnet
Setting up vars
Your Nodename (validator) that will shows in explorer
NODENAME=<Your_Nodename_Moniker>
Save variables to system
echo "export NODENAME=$NODENAME" >> $HOME/.bash_profile
if [ ! $WALLET ]; then
echo "export WALLET=wallet" >> $HOME/.bash_profile
fi
echo "export BITWAY_CHAIN_ID=bitway-1" >> $HOME/.bash_profile
source $HOME/.bash_profile
Update packages
sudo apt update && sudo apt upgrade -y
Install dependencies
sudo apt install curl build-essential git wget jq make gcc tmux net-tools ccze -y
Install go
if ! [ -x "$(command -v go)" ]; then
ver="1.21.2"
cd $HOME
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"
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> ~/.bash_profile
source ~/.bash_profile
fi
Download and build binaries
cd $HOME
rm -rf bitway
git clone https://github.com/bitwaylabs/bitway.git
cd bitway
git checkout v2.0.0
make install
Init app
bitwayd init $NODENAME --chain-id $BITWAY_CHAIN_ID
Download configuration
wget https://snapshot.konsortech.xyz/mainnet/bitway/genesis.json -O ~/.bitway/config/genesis.json
wget https://snapshot.konsortech.xyz/mainnet/bitway/addrbook.json -O ~/.bitway/config/addrbook.json
Set the minimum gas price and Peers, Filter peers/ MaxPeers
SEEDS="81b580dfee15f01e32f015c88029a8061fec223b"@mainnet-seed.konsortech.xyz:13265"
PEERS="e4a196a4dc42442d631c4eb882fda46cf66749ba@mainnet-bitway.konsortech.xyz:15656"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" ~/.bitway/config/config.toml
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.0006ubtw,0.000001sat\"/" ~/.bitway/config/app.toml
sed -i.bak -e "s/^seeds =.*/seeds = \"$seeds\"/" ~/.bitway/config/config.toml
Disable indexing
indexer="null"
sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" ~/.bitway/config/config.toml
Config pruning
pruning="custom" && \
pruning_keep_recent="100" && \
pruning_keep_every="0" && \
pruning_interval="10" && \
sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" ~/.bitway/config/app.toml && \
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" ~/.bitway/config/app.toml && \
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" ~/.bitway/config/app.toml && \
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" ~/.bitway/config/app.toml
Create service
sudo tee /etc/systemd/system/bitwayd.service > /dev/null <<EOF
[Unit]
Description=Bitway Node
After=network-online.target
[Service]
User=$USER
ExecStart=$(which bitwayd) start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
Register and start service
sudo systemctl daemon-reload
sudo systemctl enable bitwayd
sudo systemctl restart bitwayd && sudo journalctl -u bitwayd -f -o cat
Guidence for create validator
Create wallet
To create new wallet you can use command below. Don’t forget to save the mnemonic
bitwayd keys add $WALLET
To recover your wallet using seed phrase
bitwayd keys add $WALLET --recover
Show your wallet list
bitwayd keys list
Save wallet info
Add wallet and validator address into variables
BITWAY_WALLET_ADDRESS=$(bitwayd keys show $WALLET -a)
BITWAY_VALOPER_ADDRESS=$(bitwayd keys show $WALLET --bech val -a)
echo 'export BITWAY_WALLET_ADDRESS='${BITWAY_WALLET_ADDRESS} >> $HOME/.bash_profile
echo 'export BITWAY_VALOPER_ADDRESS='${BITWAY_VALOPER_ADDRESS} >> $HOME/.bash_profile
source $HOME/.bash_profile
Create validator
check your wallet balance:
bitwayd query bank balances $BITWAY_WALLET_ADDRESS
To create your validator run command below
bitwayd tx staking create-validator \
--amount 1000000ubtw \
--from $WALLET \
--commission-rate 0.1 \
--commission-max-rate 0.2 \
--commission-max-change-rate 0.01 \
--min-self-delegation 1 \
--pubkey $(bitwayd tendermint show-validator) \
--moniker "$NODENAME" \
--identity "" \
--details "your_detail" \
--chain-id bitway-1 \
--fees 1000ubtw \
-y
bitwayd tx staking create-validator ~/.bitway/config/validator.json \
--from wallet \
--chain-id bitway-1 \
--fees 1000ubtw
Check your validator key
[[ $(bitwayd q staking validator $BITWAY_VALOPER_ADDRESS -oj | jq -r .consensus_pubkey.key) = $(bitwayd 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 list of validators
bitwayd 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
Usefull commands
Service management
Check logs
journalctl -fu bitwayd -o cat
Start service
sudo systemctl start bitwayd
Stop service
sudo systemctl stop bitwayd
Restart service
sudo systemctl restart bitwayd
Node info
Synchronization info
bitwayd status 2>&1 | jq .SyncInfo
Validator info
bitwayd status 2>&1 | jq .ValidatorInfo
Node info
bitwayd status 2>&1 | jq .NodeInfo
Show node id
bitwayd tendermint show-node-id
Wallet operations
List of wallets
bitwayd keys list
Recover wallet
bitwayd keys add $WALLET --recover
Delete wallet
bitwayd keys delete $WALLET
Get wallet balance
bitwayd query bank balances $BITWAY_WALLET_ADDRESS
Transfer funds
bitwayd tx bank send $BITWAY_WALLET_ADDRESS <TO_BITWAY_WALLET_ADDRESS> 1000000ubtw
Voting
bitwayd tx gov vote 1 yes --from $WALLET --chain-id=$BITWAY_CHAIN_ID
Staking, Delegation and Rewards
Delegate stake
bitwayd tx staking delegate $BITWAY_VALOPER_ADDRESS 1000000ubtw --from=$WALLET --chain-id=$BITWAY_CHAIN_ID --fees 1000ubtw
Redelegate stake from validator to another validator
bitwayd tx staking redelegate <srcValidatorAddress> <destValidatorAddress> 1000000ubtw --from=$WALLET --chain-id=$BITWAY_CHAIN_ID --fees 1000ubtw
Withdraw all rewards
bitwayd tx distribution withdraw-all-rewards --from=$WALLET --chain-id=$BITWAY_CHAIN_ID --fees 1000ubtw
Withdraw rewards with commision
bitwayd tx distribution withdraw-rewards $BITWAY_VALOPER_ADDRESS --from=$WALLET --commission --chain-id=$BITWAY_CHAIN_ID
Validator management
Edit validator
bitwayd tx staking edit-validator \
--moniker=$NODENAME \
--identity=<your_keybase_id> \
--website="<your_website>" \
--details="<your_validator_description>" \
--chain-id=$BITWAY_CHAIN_ID \
--from=$WALLET
Unjail validator
bitwayd tx slashing unjail \
--broadcast-mode=block \
--from=$WALLET \
--chain-id=$BITWAY_CHAIN_ID \
--fees 1000ubtw
Public Endpoint
RPC
https://mainnet-bitway-rpc.konsortech.xyz
API
https://mainnet-bitway-api.konsortech.xyz
gRPC
mainnet-bitway.konsortech.xyz:18090
Peers and Seeds
Peers
e4a196a4dc42442d631c4eb882fda46cf66749ba@mainnet-bitway.konsortech.xyz:15656
Seeds
81b580dfee15f01e32f015c88029a8061fec223b"@mainnet-seed.konsortech.xyz:13265
Genesis & Address Book
Address Book
https://snapshot.konsortech.xyz/mainnet/bitway/addrbook.json
Genesis
https://snapshot.konsortech.xyz/mainnet/bitway/genesis.json
State Sync
sudo systemctl stop bitwayd
cp ~/.bitway/data/priv_validator_state.json ~/.bitway/priv_validator_state.json.backup
bitwayd tendermint unsafe-reset-all --home ~/.bitway --keep-addr-book
SNAP_RPC="https://mainnet-bitway-rpc.konsortech.xyz:443"
LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \
BLOCK_HEIGHT=$((LATEST_HEIGHT - 1000)); \
TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)
echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH
peers="e4a196a4dc42442d631c4eb882fda46cf66749ba@mainnet-bitway.konsortech.xyz:15656"
sed -i 's|^persistent_peers *=.*|persistent_peers = "'$peers'"|' ~/.bitway/config/config.toml
sed -i -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \
s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \
s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"|" ~/.bitway/config/config.toml
mv ~/.bitway/priv_validator_state.json.backup ~/.bitway/data/priv_validator_state.json
sudo systemctl restart bitwayd
sudo journalctl -u bitwayd -f --no-hostname -o cat
Snapshot
sudo systemctl stop bitwayd
cp ~/.bitway/data/priv_validator_state.json ~/.bitway/priv_validator_state.json.backup
rm -rf ~/.bitway/data
SNAP_NAME=$(curl -s https://snapshot.konsortech.xyz/mainnet/bitway/ | egrep -o ">bitway-snapshot.*\.tar.lz4" | tr -d ">")
curl https://snapshot.konsortech.xyz/mainnet/bitway/${SNAP_NAME} | lz4 -dc - | tar -xf - -C ~/.bitway
mv ~/.bitway/priv_validator_state.json.backup ~/.bitway/data/priv_validator_state.json
sudo systemctl restart bitwayd && journalctl -u bitwayd -f --no-hostname -o cat