Build PBC from source

The compiler's way: build the node, wallets and web interface yourself from the official source code — then bring it all up.

ℹ️ Don't feel like compiling? The pre-built binaries for Ubuntu 24 are in the Downloads section, with their dedicated setup guide.

1.Prerequisites (Ubuntu 24 / Debian 12)

sudo apt update
sudo apt install -y build-essential cmake pkg-config git \
  libboost-all-dev libssl-dev libzmq3-dev libunbound-dev \
  libsodium-dev libreadline-dev libexpat1-dev libncurses5-dev \
  doxygen graphviz screen curl

2.Download and verify the source code

wget https://privbank.finance/fichiers/PBC_source_v8.2.14_2026-09-03.tar.gz
md5sum PBC_source_v8.2.14_2026-09-03.tar.gz

The displayed md5 must match exactly the one in the md5sums.txt file published on the site. Never build an archive whose md5 does not match.

tar xzf PBC_source_v8.2.14_2026-09-03.tar.gz
cd pbc-chain

3.Build liboqs (post-quantum cryptography) — MANDATORY first

PBC bundles liboqs (Dilithium + Kyber) in external/liboqs: it must be built and installed before the node.

cd external/liboqs
mkdir -p build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF \
      -DCMAKE_INSTALL_PREFIX="$PWD/install" ..
make -j$(nproc)
make install

4.Build the node, wallets and web interface

cd ../../..        # back to the pbc-chain root
mkdir -p build/release && cd build/release
cmake -Wno-dev -DCMAKE_BUILD_TYPE=Release \
      -DBUILD_TESTS=OFF -DBUILD_DOCUMENTATION=OFF \
      -DBUILD_DEBUG_UTILITIES=OFF -DUSE_DEVICE_TREZOR=OFF \
      -DBUILD_GUI_DEPS=OFF ../..
make -j$(nproc) daemon simplewallet wallet_rpc_server pbc-webui

The binaries are in build/release/bin/:

⏱️ Allow 30 min to 1 h 30 depending on the machine. If the build fails for lack of RAM, re-run make with fewer jobs (e.g. -j2).

5.(Optional) Build the CPU miner

cd ~    # outside the pbc-chain tree
wget https://privbank.finance/fichiers/PBC_pbcminer_v2_2026-08-26.tar.gz
tar xzf PBC_pbcminer_v2_2026-08-26.tar.gz
cd pbcminer_v2
mkdir -p build && cd build
cmake -Wno-dev ..
make -j$(nproc)

The pbcminer binary is in build/.

6.Setup

Once built, the steps are the same as with the pre-built binaries — start in order:

  1. The node: screen -dmS node ./build/release/bin/pbcd --log-file $PWD/pbcd.log (multiple machines on a LAN? only one runs the node, with --rpc-bind-ip 0.0.0.0 --confirm-external-bind)
  2. The wallet: ./build/release/bin/pbc-wallet-cli --generate-new-wallet ~/mywalletwrite down the 25-word phrase, it is the only backup of your funds.
  3. The wallet-RPC: screen -dmS wallet-rpc ./build/release/bin/pbc-wallet-rpc --daemon-address 127.0.0.1:18831 --wallet-file ~/mywallet --password "YOUR_PASSWORD" --rpc-bind-port 18083 --disable-rpc-login --log-file /tmp/pbc-wallet-rpc.log
  4. The web interface: screen -dmS webui ./build/release/bin/pbc-webui --rpc-port 18083 --web-dir <source-root>/web --wallet-log /tmp/pbc-wallet-rpc.log
  5. The browser: http://<machine-IP>:8880
  6. The miner: address in config.json, then sudo screen -dmS miner ./pbcminer --config ../config.json -t $(($(nproc) - 2)) (from the build/ folder — the config file is at the source root)

The full detail of every step (checks, pitfalls, LAN configuration) is in the setup guide.