Bitway Mainnet Fullnode Setup Guide
This guide sets up a Bitway mainnet fullnode with bitwayd, systemd, and optional Cosmovisor support. The network parameters are aligned with the Noders Bitway mainnet install page and checked on 2026-05-10.
Prerequisites
System Requirements
- Operating System: Ubuntu 22.04/24.04 LTS x64
- CPU: 4 cores minimum
- Memory: 16GB RAM minimum
- Storage: 500GB NVMe/SSD minimum
- Network: Stable internet connection
- Access: Root or sudo privileges
Network Information
| Component | Value | Description |
|---|---|---|
| Chain ID | bitway-1 | Mainnet identifier |
| Latest Version | v2.0.1 | Current Bitway release |
| Daemon | bitwayd | Node binary |
| Home | ~/.bitwayd | Node home directory |
| Denom | uside | Native base denom |
| Minimum Gas Price | 0.001uside | Recommended node setting |
| RPC | https://bitway-rpc.noders.services | Noders public RPC |
| Peer | d28ad62b455115460bad695602e941c4b13135ec@bitway-rpc.noders.services:23456 | Noders persistent peer |
| Seed | e7d6b8b779fb2fffb6a7b157955b984d923f8054@bitway-seed.noders.services:11733 | Noders seed |
This guide tracks Bitway mainnet bitway-1 and pins v2.0.1. Before production upgrades, re-check the Bitway releases and the Noders install guide.
Initial Setup
Define Environment Variables
export NODE_NAME="your-node-name"
export CHAIN_ID="bitway-1"
export VERSION="v2.0.1"
export DAEMON_NAME="bitwayd"
export DAEMON_HOME="$HOME/.bitwayd"
export REPO_URL="https://github.com/bitwaylabs/bitway.git"
export MIN_GAS_PRICE="0.001uside"
export PORT_PREFIX="2"
export SEEDS="e7d6b8b779fb2fffb6a7b157955b984d923f8054@bitway-seed.noders.services:11733"
export PEERS="d28ad62b455115460bad695602e941c4b13135ec@bitway-rpc.noders.services:23456"
export GENESIS_URL="https://snapshots.noders.services/mainnet/bitway/genesis.json"
export ADDRBOOK_URL="https://snapshots.noders.services/mainnet/bitway/addrbook.json"
Step 1: System Preparation
sudo apt -q update
sudo apt -qy install curl git jq lz4 build-essential aria2 unzip wget
sudo apt -qy upgrade
Install Go 1.23.3
sudo rm -rf /usr/local/go
curl -Ls https://go.dev/dl/go1.23.3.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' | sudo tee /etc/profile.d/go.sh
source /etc/profile.d/go.sh
go version
Step 2: Build Bitway
cd $HOME
git clone $REPO_URL bitway
cd bitway
git checkout $VERSION
make install
bitwayd version --long | grep -e version -e commit
Step 3: Initialize the Node
bitwayd config chain-id $CHAIN_ID
bitwayd config keyring-backend os
bitwayd config node tcp://localhost:26657
bitwayd init $NODE_NAME --chain-id $CHAIN_ID
Step 4: Download Genesis and Addrbook
curl -L $GENESIS_URL -o $DAEMON_HOME/config/genesis.json
curl -L $ADDRBOOK_URL -o $DAEMON_HOME/config/addrbook.json
bitwayd validate-genesis
Step 5: Configure the Node
sed -i.bak -e "s|^seeds *=.*|seeds = \"$SEEDS\"|" $DAEMON_HOME/config/config.toml
sed -i.bak -e "s|^persistent_peers *=.*|persistent_peers = \"$PEERS\"|" $DAEMON_HOME/config/config.toml
sed -i.bak -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"$MIN_GAS_PRICE\"|" $DAEMON_HOME/config/app.toml
sed -i.bak \
-e 's|^pruning *=.*|pruning = "custom"|' \
-e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
-e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
-e 's|^pruning-interval *=.*|pruning-interval = "19"|' \
$DAEMON_HOME/config/app.toml
sed -i.bak -e 's|^prometheus *=.*|prometheus = true|' $DAEMON_HOME/config/config.toml
Optional Custom Ports
Use custom ports when multiple Cosmos nodes run on the same machine.
sed -i.bak \
-e "s%:1317%:${PORT_PREFIX}317%g" \
-e "s%:8080%:${PORT_PREFIX}080%g" \
-e "s%:9090%:${PORT_PREFIX}090%g" \
-e "s%:9091%:${PORT_PREFIX}091%g" \
-e "s%:8545%:${PORT_PREFIX}545%g" \
-e "s%:8546%:${PORT_PREFIX}546%g" \
-e "s%:6065%:${PORT_PREFIX}065%g" \
$DAEMON_HOME/config/app.toml
sed -i.bak \
-e "s%:26658%:${PORT_PREFIX}658%g" \
-e "s%:26657%:${PORT_PREFIX}657%g" \
-e "s%:6060%:${PORT_PREFIX}060%g" \
-e "s%:26656%:${PORT_PREFIX}656%g" \
-e "s%:26660%:${PORT_PREFIX}660%g" \
$DAEMON_HOME/config/config.toml
Step 6: Install Cosmovisor
Cosmovisor is recommended for validator and long-running production nodes because it keeps the node service layout ready for governance upgrades.
go install cosmossdk.io/tools/cosmovisor/cmd/[email protected]
mkdir -p $DAEMON_HOME/cosmovisor/genesis/bin
cp $(which bitwayd) $DAEMON_HOME/cosmovisor/genesis/bin/
ln -sfn $DAEMON_HOME/cosmovisor/genesis $DAEMON_HOME/cosmovisor/current
sudo ln -sfn $DAEMON_HOME/cosmovisor/current/bin/bitwayd /usr/local/bin/bitwayd
Step 7: Create Systemd Service
sudo tee /etc/systemd/system/bitwayd.service > /dev/null << EOF
[Unit]
Description=bitway node service
After=network-online.target
[Service]
User=$USER
ExecStart=$(which cosmovisor) run start
Restart=on-failure
RestartSec=10
LimitNOFILE=65535
Environment="DAEMON_HOME=$DAEMON_HOME"
Environment="DAEMON_NAME=bitwayd"
Environment="UNSAFE_SKIP_BACKUP=true"
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$DAEMON_HOME/cosmovisor/current/bin"
[Install]
WantedBy=multi-user.target
EOF
Step 8: Optional Snapshot
Noders publishes Bitway snapshots at https://snapshots.noders.services/mainnet/bitway/. Snapshot filenames change as new blocks are indexed, so check the Noders snapshot page before using a production command.
sudo systemctl stop bitwayd.service
cp $DAEMON_HOME/data/priv_validator_state.json $DAEMON_HOME/priv_validator_state.json.backup 2>/dev/null || true
rm -rf $DAEMON_HOME/data
curl -L https://snapshots.noders.services/mainnet/bitway/bitway-6552940.tar.lz4 | lz4 -d | tar -x -C $DAEMON_HOME
mv $DAEMON_HOME/priv_validator_state.json.backup $DAEMON_HOME/data/priv_validator_state.json 2>/dev/null || true
The snapshot filename above was current in the Noders data extracted on 2026-05-10. Re-check the Noders Bitway snapshot page for the latest archive before running it.
Step 9: Start and Verify
sudo systemctl daemon-reload
sudo systemctl enable bitwayd.service
sudo systemctl start bitwayd.service
sudo systemctl status bitwayd.service
journalctl -u bitwayd.service -f -o cat
bitwayd status 2>&1 | jq .
bitwayd status 2>&1 | jq .SyncInfo.catching_up
curl -s http://127.0.0.1:26657/status | jq .
Troubleshooting
Service Fails to Start
journalctl -u bitwayd.service -n 100 -o cat
bitwayd validate-genesis
Node Has No Peers
bitwayd status 2>&1 | jq .NodeInfo.num_peers
curl -s http://127.0.0.1:26657/net_info | jq '.result.n_peers'
Disk Pressure
df -h $DAEMON_HOME
find $DAEMON_HOME/config -name '*.bak' -delete
Support Resources
- Noders Bitway Install: noders.services/mainnet/bitway/install
- Bitway GitHub: github.com/bitwaylabs/bitway
- Public Endpoints: Noders Bitway public endpoints