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.
Préparation
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
Compilation
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
Quelques commandes
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`
Ajouter la gestion de bitcoind par systemd
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