Skip to content

The purpose of this repository is for devs and non devs to carry out tests on the precompiled botanix artifacts. It contains an easy rpc node setup using docker-compose.

Notifications You must be signed in to change notification settings

auth0bitai/botanix-testnet-v1-internal

 
 

Repository files navigation

botanix-testnet-v1-internal

The purpose of this repository is for devs and non devs to carry out tests on the precompiled botanix artifacts. It contains an easy rpc node setup using docker-compose.

Prerequisites

Before you begin, ensure you have the following installed:

  • make
  • docker
  • docker-compose

Installing Dependencies

Linux

  1. Install make:

    sudo apt-get update
    sudo apt-get install build-essential make
  2. Install Docker:

    sudo apt-get update
    sudo apt-get install \
        ca-certificates \
        curl \
        gnupg \
        lsb-release
    
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    
    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
      $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io
  3. Install Docker Compose:

    sudo curl -L "https://github.com/docker/compose/releases/download/v2.10.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
  4. Add your user to the docker group (optional):

    sudo usermod -aG docker $USER

macOS

  1. Install make:

    xcode-select --install
  2. Install Docker:

  3. Install Docker Compose:

    • Docker Compose is included with Docker Desktop for Mac, so no additional installation is needed.

Getting Started

Clone the Repository

git clone https://github.com/botanix-labs/botanix-testnet-v1-internal.git
cd botanix-testnet-v1-internal

## Start the mutiny bitcoind instance and allow to sync fully 
docker-compose --env-file .bitcoin.env -f mutiny.docker-compose.yml up -d 

## (Optional) Download a snapshot of the Reth and Comet database
## For instructions see below "Setup Testnet With CAAS".
## This step is optional but will greatly reduce the syncing times as one only needs to sync the blocks of since midnight.

## Start the services
make start-testnet-rpc

## Check status of rpc node
make status-testnet-rpc

Setup Testnet With CAAS (Compressed Always Available Snapshot)

CAAS is a snapshot of the Reth and Comet database that is compressed and always available for download. We use LZ4 to compress the databases and store them in GCP bucket.

Prerequisites

  • lz4
  • tar

Steps

Note In the following steps, you will have to replace the date at the end of the files with the date of the snapshot that you want. The latest snapshot that is available is the one with "yesterday's" date. Format: "MMM-DD-YYYY"

  • Download the reth and cometbft snapshots with the following commands
wget https://storage.googleapis.com/compressed-always-available-snapshot/consensus-node/consensus-node-Nov-21-2024.tar.lz4 
wget https://storage.googleapis.com/compressed-always-available-snapshot/poa-node/poa-rpc-Nov-21-2024.tar.lz4
  • Decompress the file contents with
lz4 -d consensus-node-Nov-21-2024.tar.lz4 consensus-node-Nov-21-2024.tar
lz4 -d poa-rpc-Nov-21-2024.tar.lz4 poa-rpc-Nov-21-2024.tar
  • Extract the file contents with
mkdir cometbft && tar -xvf consensus-node-Nov-21-2024.tar -C cometbft
mkdir poa-rpc && tar -xvf poa-rpc-Nov-21-2024.tar -C poa-rpc
  • Copy the file content to the appropriate Directory
cp -R poa-rpc/home/ubuntu/testnet_v1/poa-rpc/db/ poa-rpc/home/ubuntu/testnet_v1/poa-rpc/static_files/ ./poa-node-rpc
cp -R cometbft/home/ubuntu/testnet_v1/consensus-node/data/ ./consensus-node
  • Start the testnet with the snapshot data already in place

About

The purpose of this repository is for devs and non devs to carry out tests on the precompiled botanix artifacts. It contains an easy rpc node setup using docker-compose.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Makefile 100.0%