BounceBit Mainnet Node Setup
Deployment Guides (Just refer to the testnet)
Testnet Snapshot 2025-03-12
https://snapshots.bouncebit.io/bouncebit_testnet_snapshot_2025-03-12T06_28_37-UTC.tar.zst
Mainnet Archive Snapshot 2025-09-19
https://snapshots.bouncebit.io/bouncebit_archive_snapshot_2025-09-19T00_04_33-UTC.tar.zst
Mainnet Snapshot Lite 2025-08-06
https://snapshots.bouncebit.io/bouncebit_statesync_snapshot_2025-08-06T09_44_47-UTC.tar.zst
Mainnet Configuration Spec
💡 Mainnet
Chain-id
bouncebit_6001-1Fullnode Endpoint
https://fullnode-mainnet.bouncebitapi.comLatest Snapshot
echo "https://snapshots.bouncebit.io/bouncebit_archive_snapshot_$(curl -s https://snapshots.bouncebit.io/latest).tar.zst"
Mainnet Configuration for Lite Version
Configuration File Link: (Important: This configuration disables Rosetta.)
http://snapshots.bouncebit.io/bouncebit_statesync_config.tar.gz
Mainnet Latest Version
Latest Version downloads can always be found here:
v1.6.2
docker pull bouncebit/bouncebit-node:v1.6.2v1.6.1
docker pull bouncebit/bouncebit-node:v1.6.1DO NOT UPGRADE TO V1.6.0
v1.5.4
docker pull bouncebit/bouncebit-node:v1.5.4DO NOT UPGRADE TO V1.5.3
v1.5.2
docker pull bouncebit/bouncebit-node:v1.5.2Mainnet Deployment Guide
Preparation
Create workspace directory
cd $WORKSPACE
mkdir -p bouncebit/bin
mkdir -p bouncebit/configCreate work user
sudo groupadd -r -g 979 bouncebit
sudo useradd -m -u 979 -g 979 --system -s /sbin/nologin -d /var/lib/bouncebit bouncebit
sudo mkdir /etc/bouncebit && sudo chown bouncebit:bouncebit /etc/bouncebit
sudo tee /etc/bouncebit/bbcored.env <<EOF
GOGC=75
EOF
## rm old node key
sudo rm /data/bouncebit/config/node_key.json🌈 Download Latest Version bbcored
Latest Version bbcoredcurl -OL <https://github.com/BounceBit-Labs/node/releases/download/v1.5.4/bbcored>
tar zxf bbcored.tgz -C bouncebit/bin
sha256sum bbcored
chmod +x bbcored
ln -s $WORKSPACE/bin/bbcored /usr/local/bin/bbcored 
or
sudo cp bbcored /usr/local/bin/bbcored Init Bouncebit Mainnet Network
cd $WORKSPACE
bbcored init [moniker] -o --chain-id bouncebit_6001-1 --home $WORKSPACE🖇️ Download Mainnet Network_files
Mainnet configuration files can be downloaded from here 👇
Unzip mainnet-config-files.zip
And move the downloaded file to the following path.
config/app.toml
config/client.toml
config/config.toml
config/genesis.jsonUpdate seeds ( Required )
config.toml
[p2p]
seeds = "[email protected]:26656,[email protected]:26656"Config ( Optional )
If you want to run an archived node , we recommend simply using the following settings.
app.toml
pruning = "nothing"config.toml
indexer = "kv"If you are running as a validator and seeking to save disk space, we recommend simply using the following settings.
app.toml
pruning = "custom"
# These are applied if and only if the pruning strategy is custom.
pruning-keep-recent = "100"
pruning-interval = "10"config.toml
indexer = "null"🌈 Download Latest Version snapshot
Latest Version snapshotDownload and check snapshot file
wget -c -O bouncebit_archive_snapshot.tar.zst -c https://snapshots.bouncebit.io/bouncebit_archive_snapshot_$(curl -s https://snapshots.bouncebit.io/latest).tar.zst
wget -c -O bouncebit_archive_snapshot.tar.zst.sha256sum -c https://snapshots.bouncebit.io/bouncebit_archive_snapshot_$(curl -s https://snapshots.bouncebit.io/latest).tar.zst.sha256sum
# check sha256
sha256sum -c bouncebit_archive_snapshot.tar.zst.sha256sum
sudo -u bouncebit bash -c "tar --use-compress-program='zstd --long=29' -xvf bouncebit_archive_snapshot.tar.zst -C /data/bouncebit"Show the $WORKSPACE
├── bin
│   ├── bbcored
│   └── checksum.txt
├── config
│   ├── addrbook.json
│   ├── app.toml
│   ├── client.toml
│   ├── config.toml
│   ├── genesis.json
│   ├── node_key.json
│   └── priv_validator_key.json
└── data
    ├── application.db
    ├── blockstore.db
    ├── cs.wal
    ├── evidence.db
    ├── evmindexer.db
    ├── priv_validator_state.json
    ├── snapshots
    ├── state.db
    └── tx_index.dbRunning Node via systemd
We recommend using Systemd to manage Bouncebit service and check logs.
Setting up systemd unit file
You can create a Systemd unit file at the following location /etc/systemd/system/bouncebit.service:
sudo tee /etc/systemd/system/bouncebit.service <<EOF
[Unit]
Description=bouncebit node daemon
After=network-online.target
Wants=network-online.target data.mount
Requires=data.mount
[Service]
ExecStart=/usr/local/bin/bbcored start \\
    --log_format=json \\
    --log_level=info \\
    --home=/data/bouncebit
Type=simple
Restart=on-failure
KillMode=process
KillSignal=SIGINT
TimeoutStartSec=infinity
TimeoutStopSec=600
User=bouncebit
Group=bouncebit
CPUSchedulingPolicy=batch
LimitNOFILE=524288
LimitNPROC=16384
MemoryMax=27G
WorkingDirectory=/data/bouncebit
EnvironmentFile=-/etc/bouncebit/bbcored.env
# /run/bouncebit
RuntimeDirectory=bouncebit
RuntimeDirectoryMode=0700
# /etc/bouncebit
ConfigurationDirectory=bouncebit
ConfigurationDirectoryMode=0755
# /var/lib/bouncebit
StateDirectory=bitcoind
StateDirectoryMode=0710
SyslogIdentifier=bbcored
# Provide a private /tmp and /var/tmp.
PrivateTmp=true
# Mount /usr, /boot/ and /etc read-only for the process.
ProtectSystem=full
# Deny access to /home, /root and /run/user
ProtectHome=true
# Disallow the process and all of its children to gain
# new privileges through execve().
NoNewPrivileges=true
# Use a new /dev namespace only populated with API pseudo devices
# such as /dev/null, /dev/zero and /dev/random.
PrivateDevices=true
# Deny the creation of writable and executable memory mappings.
MemoryDenyWriteExecute=true
[Install]
WantedBy=multi-user.target
EOFStart the service
systemctl daemon-reload
systemctl start bouncebit.service
systemctl enable bouncebit.serviceView logs
journalctl -o cat -f -u bouncebitMonitoring
Monitor your Full node using the instructions at Logging, Tracing, Metrics, and Observability.
The default metrics port is 26660. To change the port, edit your config/config.toml file.
prometheus = true
# Address to listen for Prometheus collector(s) connections
prometheus_listen_addr = ":26660"
Last updated