Cover photo

Validator Node for BounceBit Installation

Prerequisites

Before starting, make sure you have the following:

  1. A Linux server (Ubuntu 20.04/22.04) with at least:

    • 4 CPUs

    • 8 GB RAM

    • 200 GB SSD storage

    • A static public IP address

  2. Basic command-line knowledge.

  3. Docker and Docker Compose installed on your server.

  4. BounceBit Wallet to receive rewards.

  5. A stable internet connection for uninterrupted uptime.


Step 1: Install Required Tools

Start by updating your server and installing necessary tools:

# Update packages and install dependencies
sudo apt update && sudo apt upgrade -y
sudo apt install curl wget git build-essential -y

# Install Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER

# Install Docker Compose
sudo apt install docker-compose -y

Log out and log back in to apply Docker permissions.


Step 2: Clone the BounceBit Repository

Next, download the BounceBit node repository:

# Clone the BounceBit repository
git clone https://github.com/bouncebit/bouncebit-node.git
cd bouncebit-node

Step 3: Configure the Node

Edit the configuration file to set up your node. Replace <YOUR_WALLET_ADDRESS> with your actual BounceBit wallet address:

nano config/config.toml

Update the following fields:

[validator]
address = "<YOUR_WALLET_ADDRESS>"  # Replace with your BounceBit wallet address

Save the file (CTRL + O, then CTRL + X).


Step 4: Run the Node

To start the node, use the provided Docker Compose configuration:

# Start the BounceBit node
docker-compose up -d

This will download and run the necessary Docker containers. Check the logs to verify that the node is running:

docker-compose logs -f

Step 5: Sync the Blockchain

The node will need to sync the BounceBit blockchain. This process can take a few hours depending on your server's performance and network speed. Monitor the logs to track the progress:

docker logs -f bouncebit-node

Once you see a message like Node is fully synced, your node is ready.


Step 6: Register as a Validator

To participate as a validator:

  1. Obtain the public key of your node:

    docker exec bouncebit-node ./bouncebit-cli get-validator-key
    
  2. Submit your public key to the BounceBit staking portal:

  3. Delegate some BounceBit tokens (BBT) to your validator to activate it.


Step 7: Monitor Your Validator

Ensure your node remains online and performant. Use these commands:

  • Check Node Status:

    docker exec bouncebit-node ./bouncebit-cli status
    
  • Restart Node (if needed):

    docker-compose restart
    
  • Update Node Software: Pull the latest updates from the repository and restart:

    git pull
    docker-compose down
    docker-compose up -d
    

Troubleshooting

  • Check Logs:

    docker-compose logs -f
    
  • Disk Space Issues: Ensure you have at least 200 GB free storage. Clean up unused Docker containers and images:

    docker system prune -a
    

Step 8: Secure Your Node

  1. Enable a Firewall:

    sudo ufw allow ssh
    sudo ufw allow 26656/tcp  # Replace with BounceBit’s P2P port
    sudo ufw enable
    
  2. Set Up Automatic Restarts: Configure Docker to restart the node on failure:

    docker update --restart unless-stopped bouncebit-node