Guide de compilation du code source et de mise en route

La voie complĂšte : compilation du nƓud, des wallets et de l'interface web depuis le code source officiel (liboqs d'abord !), puis mise en route dĂ©taillĂ©e Ă©tape par Ă©tape.

â„č Pas envie de compiler ? Les binaires prĂ©-compilĂ©s pour Ubuntu 24 sont dans la section TĂ©lĂ©chargements, avec leur guide de mise en route dĂ©diĂ©.

1.Prérequis (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.Télécharger et vérifier le code source

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

Le md5 affiché doit correspondre exactement à celui du fichier md5sums.txt publié sur le site. Ne compilez jamais une archive dont le md5 ne correspond pas.

tar xzf PBC_source_v8.2.18_2026-09-08.tar.gz
cd pbc-chain

3.Compiler liboqs (cryptographie post-quantique) — OBLIGATOIRE d'abord

PBC embarque liboqs (Dilithium + Kyber) dans external/liboqs : elle doit ĂȘtre compilĂ©e et installĂ©e avant le nƓud.

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.Compiler le nƓud, les wallets et l'interface web

cd ../../..        # retour Ă  la racine pbc-chain
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

Les binaires sont dans build/release/bin/ :

⏱ Comptez 30 min Ă  1 h 30 selon la machine. Si la compilation Ă©choue par manque de RAM, relancez le make avec moins de jobs (ex. -j2).

5.(Optionnel) Compiler le mineur CPU

cd ~    # hors de l'arbre pbc-chain
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)

Le binaire pbcminer est dans build/.

6.Mise en route — pas à pas

Une fois compilés, les binaires sont dans build/release/bin/ (pbc-webui dans build/release/src/webui/) et les fichiers de l'interface web dans web/ à la racine du source. Lancez dans l'ordre :

6.1Lancer votre nƓud

screen -dmS node ./build/release/bin/pbcd --log-file $PWD/pbcd.log
⚠ Plusieurs machines sur le mĂȘme rĂ©seau (LAN) ? Une seule machine fait tourner le nƓud (ou le wallet GUI), avec le bind externe — voir la section « Plusieurs machines (LAN) » plus bas.

Votre nƓud se connecte automatiquement aux seeds du rĂ©seau. VĂ©rifier qu'il tourne et synchronise :

curl -s http://127.0.0.1:18831/get_info | grep -E '"height"|connections'

(screen -r node pour voir la console ; Ctrl+A puis D pour en sortir.)

6.2Créer votre wallet

./build/release/bin/pbc-wallet-cli --generate-new-wallet ~/monwallet
  1. Choisissez un mot de passe de wallet.
  2. NOTEZ IMPÉRATIVEMENT la phrase de rĂ©cupĂ©ration (25 mots) affichĂ©e — c'est la seule sauvegarde de vos fonds.
  3. Notez votre adresse qui commence par Pbc
 ou Pbd
 (commande address dans le wallet).
  4. Tapez exit pour quitter (le wallet est sauvegardé dans ~/monwallet et ~/monwallet.keys).

6.3Lancer le wallet-RPC

screen -dmS wallet-rpc ./build/release/bin/pbc-wallet-rpc \
  --daemon-address 127.0.0.1:18831 \
  --wallet-file ~/monwallet \
  --password "VOTRE_MDP_WALLET" \
  --rpc-bind-port 18083 \
  --disable-rpc-login \
  --log-file /tmp/pbc-wallet-rpc.log
⚠ Remplacez VOTRE_MDP_WALLET par le mot de passe choisi Ă  l'Ă©tape 6.2. Si vous laissez le texte d'exemple, le wallet-RPC plante immĂ©diatement avec invalid password — vĂ©rifiez avec tail -3 /tmp/pbc-wallet-rpc.log que le dĂ©marrage est bon.

6.4Lancer l'interface web du wallet

screen -dmS webui ./build/release/src/webui/pbc-webui \
  --rpc-port 18083 \
  --web-dir <racine-du-source>/web \
  --wallet-log /tmp/pbc-wallet-rpc.log

(Remplacez <racine-du-source> par le chemin du dossier pbc-chain — les fichiers de l'interface sont dans son sous-dossier web/.)

6.5Ouvrir votre banque privée dans le navigateur

http://<IP-de-votre-machine>:8880

(Depuis la machine elle-mĂȘme : http://127.0.0.1:8880.) Vous y trouverez : tableau de bord, dĂ©pĂŽts Ă  terme (30 j Ă  365 j), rĂ©compenses Ă  rĂ©clamer (CLAIM), marchĂ© obligataire, hĂ©ritage, et le relevĂ© bancaire (Bank Statement).

6.6Miner

Le mineur CPU est un projet sĂ©parĂ© — binaire + config dans la section TĂ©lĂ©chargements, source incluse (ou compilĂ© Ă  l'Ă©tape 5 ci-dessus). Éditez miner/config.json et mettez votre adresse (Ă©tape 6.2) Ă  la place de YOUR_PBC_ADDRESS_HERE :

"user": "PbcVotreAdresseIci"

Lancez le mineur avec sudo (recommandĂ© — bien meilleures performances : huge pages + optimisation MSR du CPU, qui exigent les droits root) :

sudo screen -dmS miner ./miner/pbcminer --config miner/config.json -t $(($(nproc) - 2))

Recommandation : tous les threads moins 2 (garde la machine fluide). Sans sudo, le mineur fonctionne quand mĂȘme mais avec des performances rĂ©duites. Le mineur travaille contre votre propre nƓud (minage solo, algo RandomX V2 rx/pbc, CPU uniquement).

⏳ Normal : vos rĂ©compenses de minage arrivent en 4 parts bloquĂ©es qui se dĂ©bloquent Ă  ~24 h / ~30 j / ~60 j / ~90 j (vesting intĂ©grĂ© au protocole). Votre solde dĂ©bloquĂ© montera progressivement.

💡 Astuce : une fois vos premiĂšres rĂ©compenses dĂ©bloquĂ©es, placez-les en dĂ©pĂŽt Ă  terme depuis l'interface web pour gĂ©nĂ©rer du rendement — c'est le cƓur de PBC.

7.Plusieurs machines sur le mĂȘme rĂ©seau (LAN)

⚠ RĂšgle d'or : un seul nƓud — ou un seul wallet GUI — par rĂ©seau local. Si vous en lancez plusieurs, les suivants ne pourront pas se synchroniser. Et de toute façon un seul suffit : toutes les autres machines du LAN mineront sur lui en solo.

Sur la machine « banque » (celle qui hĂ©berge le nƓud), lancez-le avec le bind externe :

screen -dmS node ./build/release/bin/pbcd --rpc-bind-ip 0.0.0.0 --confirm-external-bind --log-file $PWD/pbcd.log

Sur les autres machines (mineurs seuls — pas de nƓud) : Ă©ditez miner/config.json et pointez vers l'IP locale de la machine « banque » :

"url": "192.168.X.X:18831"

(remplacez 192.168.X.X par l'IP LAN de cette machine — ip a pour la connaĂźtre ; "daemon": true reste tel quel), puis lancez le mineur normalement. Les rĂ©compenses arrivent sur l'adresse configurĂ©e dans config.json, quel que soit le nƓud utilisĂ©.

8.En cas de problĂšme