Compilation Bitcoind

Sous Jessie, Bitcoin qt et bitcoind n'étaient pas disponibles. J'ai donc pris l'habitude de compiler bitcoind pour mettre en place des nodes serveurs.

Pour commencer, nous installons les paquets nécessaires :

sudo aptitude install git build-essential libtool autotools-dev autoconf libssl-dev libboost-all-dev pkg-config checkinstall

Pour voir quelle est la dernière version disponible : https://github.com/bitcoin/bitcoin/branches La dernière version au moment de l'écriture de cet howto est la 0.14.2, nous allons donc utiliser celle-ci.

Ensuite nous créons le répertoire de travail et nous nous positionnons dedans :

mkdir src
cd src

et nous récupérons les sources (ici la version 0.14.2) :

git clone -b 0.14.2 https://github.com/bitcoin/bitcoin.git

Nous nous plaçons dans le répertoire de travail et configurons le système pour la compilation :

cd bitcoin/
./autogen.sh

Nous lançons la configuration :

./configure --enable-hardening --disable-wallet --without-gui --without-miniupnpc

<note>Il est conseillé d'activer “hardening” pour plus de sécurité</note>

Si vous avez ce genre d'erreur :

configure: error: libevent not found.

Vous devez installer libevent-dev :

sudo aptitude install libevent-dev
Les NOUVEAUX paquets suivants vont être installés :     
  libevent-core-2.0-5{a} libevent-dev libevent-extra-2.0-5{a} libevent-openssl-2.0-5{a} libevent-pthreads-2.0-5{a} 
0 paquets mis à jour, 5 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 540 ko d'archives. Après dépaquetage, 1 942 ko seront utilisés.

On lance la compilation :

make

Et enfin on utilise “CheckInstall” pour l'installation. Contrairement à la commande “make install” qui ne fait que l'installation, Checkinstall construira un paquet sous forme de fichier .deb et l'installera automatiquement.

sudo checkinstall --pkgname=bitcoin --pkgversion=“5:$(date +%Y%m%d%H%M)-git” --backup=no --deldoc=yes --fstrans=no -default

Si vous voulez désinstaller bitcoin, il vous suffira de désinstaller le paquet :

sudo dpkg -r bitcoin

Pour lancer bitcoind en démon :

bitcoind -daemon

Pour avoir des informations sur la blockchain :

bitcoin-cli getblockchaininfo

Pour voir si votre instance est synchronisée :

echo `bitcoin-cli getblockcount 2>&1`/`wget -O - http://blockchain.info/q/getblockcount 2>/dev/null`

Pour ajouter la gestion du démarrage et de l'arrêt de bitcoind au boot par systemd :

sudo nano /etc/systemd/bitcoind.service

Et ajouter ce contenu (adaptez le nom de l'utilisateur) :

[Unit]
Description=Bitcoin daemon service
After=network.target
 
[Service]
Type=simple
User=bitcoin
ExecStart=/usr/local/bin/bitcoind -daemon
ExecStop=/usr/local/bin/bitcoin-cli stop
 
[Install]
WantedBy=multi-user.target

Enfin, démarrez et activez le service

sudo systemctl start bitcoind.service; systemctl enable bitcoind.service
  • infrastructure/crypto-monnaies/bitcoin/bitcoind-compil.txt
  • Dernière modification : 10/10/2020 11:47
  • de Stéphane Paillet