# Validator Node for BounceBit Installation

By [Glitch Enjoyers](https://paragraph.com/@glitch-enjoyers) · 2024-11-27

---

**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:
    
    *   Visit [BounceBit Staking Dashboard](https://staking.bouncebit.io/).
        
    *   Register your validator using the public key and your wallet address.
        
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

---

*Originally published on [Glitch Enjoyers](https://paragraph.com/@glitch-enjoyers/validator-node-for-bouncebit-installation)*
