Si l’interface RPC est la façon de parler à votre nœud Bitcoin, bitcoin.conf est la façon de le façonner — le fichier de réglages qui décide de l’espace disque utilisé, de la manière dont il joint le réseau, et de qui a le droit de le commander. Cette référence couvre les options qu’un opérateur de nœud et mineur solo règle réellement, groupées par objectif, chaque description provenant du texte d’aide intégré de Bitcoin Core. C’est un sous-ensemble de travail, pas la liste complète; confirmez les valeurs par défaut de votre version avec bitcoind -help.
Le fichier lui-même est du texte brut : un réglage=valeur par ligne, les commentaires commencent par #, et il se trouve dans votre répertoire de données (~/.bitcoin/bitcoin.conf sous Linux, %APPDATA%\Bitcoin\bitcoin.conf sous Windows, ~/Library/Application Support/Bitcoin/bitcoin.conf sous macOS). Toute option de ligne de commande sauf -conf peut aussi aller dans le fichier.
Stockage et chaîne — quelle taille fait mon nœud?
| Option | Rôle |
|---|---|
prune=<n> |
Réduit le stockage en supprimant les vieux blocs. 0 désactive l’élagage (nœud d’archive complet); 1 permet l’élagage manuel via le RPC pruneblockchain; une valeur ≥ au minimum est une taille cible en Mio pour l’élagage automatique. Incompatible avec txindex. Revenir en arrière exige de re-télécharger toute la chaîne. |
dbcache=<n> |
Taille maximale du cache de base de données en Mio. L’augmenter accélère nettement le téléchargement initial des blocs — assurez-vous d’avoir la RAM. La mémoire inutilisée du mempool est partagée avec ce cache. |
txindex=1 |
Maintient un index complet des transactions, utilisé par le RPC getrawtransaction. Requis pour rechercher n’importe quelle transaction historique par txid. Incompatible avec l’élagage. |
blockfilterindex=1 |
Maintient un index de filtres de blocs compacts (BIP157/158), que les clients légers utilisent pour repérer leurs transactions de façon privée. |
coinstatsindex=1 |
Maintient l’index coinstats utilisé par le RPC gettxoutsetinfo — permet d’interroger les statistiques de l’ensemble UTXO sans recalcul complet. |
assumevalid=<hash> |
Si ce bloc est dans la chaîne, suppose que lui et ses ancêtres sont valides et peut sauter leur vérification de script (mettez 0 pour tout vérifier depuis genesis). Accélère la synchro; le défaut est un bloc récent codé en dur. |
par=<n> |
Nombre de fils de vérification de script (0 = auto, négatif = laisser autant de cœurs libres). Régit l’usage CPU pendant la validation. |
datadir=<rép> |
Spécifie le répertoire de données — où vivent la blockchain, le chainstate, le portefeuille et cette configuration. |
Réseau et connectivité — comment mon nœud joint-il le monde?
| Option | Rôle |
|---|---|
listen=1 |
Accepter les connexions entrantes de l’extérieur (activé par défaut sauf si -proxy, -connect ou -maxconnections=0 est réglé). Tourner avec listen=1 et un port joignable fait de vous un nœud contributeur, pas seulement un profiteur. |
maxconnections=<n> |
Maintenir au plus n connexions automatiques aux pairs. Les pairs ajoutés manuellement (addnode) ont une limite distincte et ne sont pas comptés ici. |
maxuploadtarget=<n> |
Tente de garder le trafic sortant sous la cible donnée par 24 h. Ne s’applique pas aux blocs créés dans la dernière semaine. 0 = pas de limite. Accepte des suffixes d’unité (M par défaut). Utile sur une connexion à volume mesuré. |
onlynet=<réseau> |
Faire des connexions sortantes automatiques uniquement vers le réseau nommé (ipv4, ipv6, tor, cjdns). Répétable. Réglez onlynet=onion pour tourner uniquement sur Tor. |
proxy=<ip:port> |
Se connecter via un proxy SOCKS5 (p. ex. Tor à 127.0.0.1:9050). Peut être limité à un réseau avec =réseau. Désactivé par défaut. |
dnsseed=<0|1> |
Interroger les seeds DNS pour des adresses de pairs quand on en manque (activé par défaut sauf si -connect est utilisé). Désactivez-le pour zéro fuite DNS et fournissez vos propres pairs. |
blocksonly=1 |
Rejeter les transactions des pairs réseau et désactiver le relais automatique de transactions. Réduit fortement la bande passante; les transactions soumises par RPC fonctionnent encore — réglage courant pour un nœud dont le seul rôle est la validation et les templates de blocs. |
RPC — qui a le droit de commander le nœud?
C’est la section critique pour la sécurité. L’aide de rpcbind le dit clairement : n’exposez pas le serveur RPC à des réseaux non fiables comme l’internet public.
| Option | Rôle |
|---|---|
server=1 |
Accepter les commandes en ligne de commande et JSON-RPC. Requis pour bitcoin-cli et pour un mineur qui parle au nœud. |
rpcauth=<user>:<sel>$<hash> |
La façon sûre de régler les identifiants : un nom d’utilisateur plus un mot de passe haché en HMAC-SHA-256, de sorte que le mot de passe en clair ne se trouve jamais dans la configuration. Générez-le avec le script rpcauth.py livré avec Bitcoin Core. Répétable pour plusieurs utilisateurs. |
rpcuser / rpcpassword |
Nom d’utilisateur et mot de passe (en clair) pour le JSON-RPC. Plus simple que rpcauth mais stocke le mot de passe dans le fichier — préférez rpcauth. |
rpcallowip=<ip> |
Autoriser les connexions JSON-RPC depuis une source : une seule IP, un réseau/masque ou un CIDR (p. ex. 192.168.1.0/24). Sans elle, seul localhost peut se connecter. |
rpcbind=<adresse> |
Lier le serveur RPC à une adresse donnée. Ne l’exposez pas à des réseaux non fiables comme l’internet public. À combiner prudemment avec rpcallowip. |
Portefeuille
| Option | Rôle |
|---|---|
disablewallet=1 |
Fait tourner le nœud avec le sous-système de portefeuille désactivé (et les RPC de portefeuille désactivés). Courant sur un nœud servant purement à la validation, aux templates de blocs, ou comme dorsale d’un portefeuille externe — une surface d’attaque de moins. |
Trois points de départ
Plutôt que de copier le fichier de quelqu’un d’autre en entier, décidez à quoi sert votre nœud :
- Validation souveraine sur petit disque —
prune=une taille qui rentre,blocksonly=1,listen=1, et undbcachemodeste. Vous validez pleinement la chaîne sans stocker plus de 600 Go. - Dorsale de minage solo —
server=1,rpcauth=pour le mineur,txindexdésactivé (sauf besoin de recherches historiques), et gardez le portefeuille actif si le nœud détient l’adresse de paiement. C’est le nœud auquel parle votre boucle getblocktemplate. - Nœud privé, Tor uniquement —
onlynet=onion,proxy=127.0.0.1:9050,dnsseed=0, et pas derpcbindpublic. Confidentialité réseau maximale.
Le fil conducteur est le même que derrière chaque partie de la pile souveraine : un nœud que vous configurez vous-même, validant les règles que vous avez choisies, fait la différence entre utiliser Bitcoin et faire confiance au Bitcoin de quelqu’un d’autre. Pour le logiciel qui lit ce fichier, voyez notre référence des implémentations de nœud; pour la place du nœud dans le tableau minier élargi, le Manuel de terrain du minage Bitcoin. Les valeurs par défaut exactes et l’ensemble complet des options vivent toujours dans bitcoind -help pour votre version.
