Skip to main content

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

ComponentValueDescription
Chain IDbitway-1Mainnet identifier
Latest Versionv2.0.1Current Bitway release
DaemonbitwaydNode binary
Home~/.bitwaydNode home directory
DenomusideNative base denom
Minimum Gas Price0.001usideRecommended node setting
RPChttps://bitway-rpc.noders.servicesNoders public RPC
Peerd28ad62b455115460bad695602e941c4b13135ec@bitway-rpc.noders.services:23456Noders persistent peer
Seede7d6b8b779fb2fffb6a7b157955b984d923f8054@bitway-seed.noders.services:11733Noders seed
info

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
warning

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