Build & Run an iBitHub Full Node

← Back to iBitHub Home

Step-by-step guide for 2026 — native Ubuntu 18.04 build and Docker method with legacy dependencies (Berkeley DB 4.8 + OpenSSL 1.0.2u).

Step 0 — VPS Setup

Use Ubuntu 18.04 LTS VPS (2–4 vCPU, 4–8GB RAM, 50+ GB SSD). Recommended providers: Vultr, Hetzner, OVH, DigitalOcean, Linode.

⚠️ Do NOT use newer OpenSSL or Berkeley DB versions — wallet/node will break.

Option 1 — Native Ubuntu 18.04 Build

  1. Update system
    sudo apt update
  2. Install dependencies
    sudo apt install -y build-essential git libboost-all-dev libminiupnpc-dev libevent-dev
    sudo apt install -y automake autotools-dev pkg-config
  3. Build Berkeley DB 4.8
    cd ~
    wget http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz
    tar -xzf db-4.8.30.NC.tar.gz
    cd db-4.8.30.NC/build_unix
    ../dist/configure --enable-cxx --disable-shared --with-pic
    make -j$(nproc)
    sudo make install

    → Installs to /usr/local/BerkeleyDB.4.8

  4. Build OpenSSL 1.0.2u
    cd ~
    wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2u.tar.gz
    tar -xzf openssl-1.0.2u.tar.gz
    cd openssl-1.0.2u
    ./config --prefix=/usr/local/openssl-1.0.2 no-shared no-threads -fPIC
    make -j$(nproc)
    sudo make install

    → Installs to /usr/local/openssl-1.0.2

  5. Clone repository
    cd ~
    git clone https://github.com/ibithub/ibithub.git
    cd ibithub/src
  6. Step 6 — Update makefile.unix

    In makefile.unix Find:

    bitcoind: $(OBJS:obj/%)
    $(LINK) $(xCXXFLAGS) -o $@ $^ $(xLDFLAGS) $(LIBS)

    Add above it:

    ibithub-cli: $(OBJS:obj/%)
    	$(LINK) $(xCXXFLAGS) -o $@ $^ $(xLDFLAGS) $(LIBS)

    Also add at the top of makefile.unix:

    BDB_PREFIX = /usr/local/BerkeleyDB.4.8
    OPENSSL_PREFIX = /usr/local/openssl-1.0.2
    
    CXXFLAGS += -I$(BDB_PREFIX)/include -I$(OPENSSL_PREFIX)/include \
                -Wno-deprecated-declarations -Wno-error
    LDFLAGS  += -L$(BDB_PREFIX)/lib -L$(OPENSSL_PREFIX)/lib
    LIBS     += -ldb_cxx -lssl -lcrypto -lboost_system -lboost_filesystem -lboost_program_options -lboost_thread
  7. Build binaries
    make -f makefile.unix clean
    make -f makefile.unix -j$(nproc)

    → Produces ibithubd and ibithub-cli

  8. Run iBitHub
    export LD_LIBRARY_PATH=/usr/local/openssl-1.0.2/lib:$LD_LIBRARY_PATH
    ./ibithubd -daemon

    Create minimal ~/.ibithub/ibithub.conf:

    rpcuser=youruser
    rpcpassword=yourpass

Option 2 — Docker Container Build

  1. Install Docker on host
    sudo apt update
    sudo apt install -y docker.io
    sudo systemctl enable --now docker
    sudo usermod -aG docker $USER
    newgrp docker
  2. Start Ubuntu 18.04 container
    docker run -it --name ibithub-build ubuntu:18.04 /bin/bash
  3. Inside container — install dependencies & repeat Option 1 steps
    apt update
    apt install -y build-essential git libboost-all-dev libminiupnpc-dev libevent-dev wget automake autotools-dev pkg-config

    Then repeat steps 3–7 from Option 1 inside container.

  4. Copy binaries to host
    docker cp ibithub-build:/root/ibithub/src/ibithubd .
    docker cp ibithub-build:/root/ibithub/src/ibithub-cli .

Important Notes: Always use Berkeley DB 4.8 + OpenSSL 1.0.2u. Docker builds are deterministic. Export LD_LIBRARY_PATH before running binaries.