Source code build & setup guide
The full path: build the node, wallets and web interface from the official source code (liboqs first!), then the detailed step-by-step setup.
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.18_2026-09-08.tar.gz
md5sum PBC_source_v8.2.18_2026-09-08.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.18_2026-09-08.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/:
pbcdβ the node (daemon)pbc-wallet-cliβ command-line walletpbc-wallet-rpcβ RPC wallet (web interface backend)pbc-webuiβ web interface server (web files inweb/at the source root)
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 β step by step
Once built, the binaries are in build/release/bin/ (pbc-webui in build/release/src/webui/) and the web interface files in web/ at the source root. Start in order:
6.1Start your node
screen -dmS node ./build/release/bin/pbcd --log-file $PWD/pbcd.log
Your node connects to the network seeds automatically. Check it is up and syncing:
curl -s http://127.0.0.1:18831/get_info | grep -E '"height"|connections'
(screen -r node to see the console; Ctrl+A then D to detach.)
6.2Create your wallet
./build/release/bin/pbc-wallet-cli --generate-new-wallet ~/mywallet
- Choose a wallet password.
- WRITE DOWN the 25-word recovery phrase shown β it is the only backup of your funds.
- Note your address (starts with
Pbcβ¦orPbdβ¦β commandaddressin the wallet). - Type
exitto quit (the wallet is saved as~/mywalletand~/mywallet.keys).
6.3Start 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_WALLET_PASSWORD" \
--rpc-bind-port 18083 \
--disable-rpc-login \
--log-file /tmp/pbc-wallet-rpc.log
YOUR_WALLET_PASSWORD with the password from step 6.2. With the placeholder left in, the wallet-RPC dies immediately with invalid password β check with tail -3 /tmp/pbc-wallet-rpc.log that it started fine.6.4Start the wallet web interface
screen -dmS webui ./build/release/src/webui/pbc-webui \
--rpc-port 18083 \
--web-dir <source-root>/web \
--wallet-log /tmp/pbc-wallet-rpc.log
(Replace <source-root> with the path of the pbc-chain folder β the interface files are in its web/ subfolder.)
6.5Open your private bank in the browser
http://<your-machine-IP>:8880
(From the machine itself: http://127.0.0.1:8880.) You get: dashboard, term deposits (30dβ365d), claimable rewards (CLAIM), the bond market, on-chain inheritance, and the bank statement.
6.6Mine
The CPU miner is a separate project β binary + config in the Downloads section, source included (or built at step 5 above). Edit miner/config.json and set your address (step 6.2) in place of YOUR_PBC_ADDRESS_HERE:
"user": "PbcYourAddressHere"
Run the miner with sudo (recommended β much better performance: huge pages + CPU MSR tuning, which require root):
sudo screen -dmS miner ./miner/pbcminer --config miner/config.json -t $(($(nproc) - 2))
Recommendation: all threads minus 2 (keeps the machine responsive). Without sudo the miner still works, with reduced performance. It mines against your own node (solo mining, RandomX V2 rx/pbc, CPU only).
β³ Normal: your mining rewards arrive in 4 locked tranches unlocking at ~24h / ~30d / ~60d / ~90d (protocol-enforced vesting). Your unlocked balance grows progressively.
π‘ Tip: once your first rewards unlock, place them in a term deposit from the web interface to earn yield β that is the core of PBC.
7.Multiple machines on the same LAN
On the "bank" machine (the one hosting the node), start it with the external bind:
screen -dmS node ./build/release/bin/pbcd --rpc-bind-ip 0.0.0.0 --confirm-external-bind --log-file $PWD/pbcd.log
On the other machines (miners only β no node): edit miner/config.json and point it at the LAN IP of the "bank" machine:
"url": "192.168.X.X:18831"
(replace 192.168.X.X with that machine's LAN IP β ip a to find it; leave "daemon": true as is), then run the miner normally. Rewards land on the address configured in config.json, whichever node is used.
8.Troubleshooting
- Check the node:
tail -20 pbcd.log - Check the wallet-RPC:
tail -20 /tmp/pbc-wallet-rpc.log - Explore the chain: block explorer