Installer un nœud Lightning Network sur un Raspberry Pi

12
7513

Avoir son propre nœud Lightning Network (LN) permet d’avoir un grand contrôle sur les transactions au sein du réseau.
Lorsque vous voulez effectuer une transaction LN vous avez deux choix :
– Dépendre d’un nœud de tiers et dépendre de ses canaux de paiement ;
– Avoir son nœud et gérer ses propres canaux avec d’autres nœuds.
Il va sans dire que la deuxième solution offre plus de possibilités, alors nous allons voir dans cet article comment mettre en place tout cela.

Avoir un noeud Lightning Network signifie que vous êtes un relayeur de transactions. Vous rendez service et la bonne nouvelle, c’est que pour ce service rendu, vous captez des frais sur les transactions circulantes.

Sommaire
Matériels requis
Installer Raspian Stretch Lite
Configurer le Raspberry Pi : Activer et configurer SSHCréer un utilisateur
Préparer le disque dur : FormaterMonter le disque
Installer bitcoind et bitcoin-cli
Démarrer bitcoind
Installer LND et LnCLI
Démarrer LND

 

Matériels requis

Avant tout il va vous falloir du matériel puisqu’un nœud est un serveur qui fourni un service. Ne vous inquiétez pas vous n’aurez pas besoin d’un serveur coûteux, bruyant et consommateur. Vous aurez besoin d’un nano-ordinateur, c’est petit, c’est silencieux et la consommation est basse, voilà la liste :
Raspberry Pi 3 : ce matériel est peu coûteux et a les capacités optimales pour avoir un nœud LN efficace. Veillez à acquérir un pack contenant le Raspberry Pi, l’alimentation secteur et une carte SSD. Ces éléments sont compris dans le pack officiel ;
Un disque dur SSD de 500go ou plus : vous devrez télécharger la blockchain de Bitcoin qui fait plus de 200 giga octects. Je recommande un disque dur SSD (électronique) à préférer au disque dur mécanique qui a une moins bonne tolérance à la panne. J’ai personnellement un disque dur mécanique ;
Un écran port HDMI : ce sera nécessaire pour faire les premières configurations ;
Un clavier USB : ce sera également nécessaire pour faire les premières configurations ;
Un câble RJ45 : ce sera pour connecter votre Raspberry Pi à Internet. Il est possible d’avoir une connexion wifi en y connectant une antenne ou un dongle. Cependant je déconseille cette approche pour des raisons de sécurité et également pour éviter les contraintes d’installation de drivers pas toujours disponibles sur les distributions Linux.

 

Installer Raspian Stretch Lite

Cette étape est optionnelle mais recommandée.

Avant d’entamer la configuration de votre Raspberry installez un nouveau système d’exploitation plus léger que celui installé par défaut : c’est Raspian Stretch Lite.

Stretch Lite est un système d’exploitation dans le but d’optimiser la consommation de ressources sur notre système.

Installez Raspian Stretch Lite sur la carte SD fournie avec le Raspberry Pi. Il vous faudra la formater. Avec Windows le logiciel Etcherest d’une grande aide. Sur Mac et distributions Linux préférez la ligne de commande.

 

Configurer le Raspberry Pi

Ici je vais considérer que vous êtes sur Raspian Stretch Lite, mais pas d’inquiétude vous pouvez tout suivre avec le système d’origine, veillez à ouvrir le terminal car nous allons travailler en ligne de commande, rien de mieux pour se familiariser avec l’environnement Linux.

Les accès par défaut sont les suivants :

Installer un nœud Lightning Network

Si vous n’êtes pas habitué au terminal Debian, en tapant votre mot de passe rien ne s’affiche, c’est tout à faire normal, ce que vous tapez est quand même pris en compte. C’est une protection au même titre que les étoiles qu’on voit sur les formulaires web.

 

Activer et configurer SSH

Actuellement vous travaillez avec un écran et un clavier branchés sur votre petit Rapsberry… Et c’est peut-être pas pratique. J’ai une bonne nouvelle, on va pouvoir faire en sorte de gérer votre système sans avoir besoin d’y accéder physiquement. Vous allez le contrôler à distance grâce au protocole SSH !

SSH signifie Secure Shell, c’est un protocole de réseau ingénieux qui permet l’exécution de commandes à distance en bénéficiant de canaux cryptés. Il est possible d’utiliser SSH au sein d’un réseau local mais aussi en passant par Internet par exemple. Sachez que par défaut la configuration du SSH dans Raspian permet l’authentification par login et mot de passe.

Par défaut la connexion SSH est désactivée pour des raisons de sécurité, alors activez le en tapant ce qui suit :

Installer un nœud Lightning Network

Un menu graphique peu charmant s’ouvre, sélectionnez Interfacing Options (Configure connections to peripherals) puis ssh (Enable or disable ssh server) ensuite sélectionnez YesOK et enfin Finish.

Revenez sur le terminal et redémarrez le service ssh

Installer un nœud Lightning Network

Votre SSH est maintenant activé.

À la bonheur, vous pouvez dès maintenant vous connecter à votre Raspberry à distance, depuis un autre ordinateur. D’abord récupérez l’adresse IP de votre Raspberry vous en aurez besoin, utilisez la commande ifconfig pour l’afficher. Voilà un extrait de mon ifconfig

Installer un nœud Lightning Network

Voyez en surligné mon adresse IP est 192.168.1.42 — puisque c’est la réponse à tous les mystères de l’univers. Vous la trouverez normalement sur le connecteur eth0 et en ipv4 qui est le format que j’ai sélectionné et que je vous recommande pour éviter des configurations futures.

Avec votre ordinateur favori, que ce soit sur MacOS, Windows, Ubuntu, Trisquel ou TempleOS vous pouvez utiliser un outil qui permet de vous connecter à votre Raspberry avec SSH. Le plus simple avec MacOS ou une distribution Linux. Si vous n’avez pas ssh de disponible en commande, veuillez installer OpenSSH . Voilà comment procéder avec votre terminal sachant que mon IP est 192.168.1.42

Installer un nœud Lightning Network

Cette étape permet d’avoir une clé RSA pour initialiser une communication chiffrée avec votre Raspberry et de connecter ensuite.

Il existe des solutions avec interface comme PuTTY pour Windows. Vous devrez entrer l’adresse IP de votre Raspberry, le login pi et le mot de passe raspberry.

 

Créer l’utilisateur Bitcoin

Afin de protéger votre installation du mieux que possible je recommande de créer un utilisateur prévu à cet usage. Nous l’appellerons “bitcoin”.

Installer un nœud Lightning Network
Vous pouvez désormais vous connecter directement à l’utilisateur “bitcoin” avec SSH en tapant par exemple ssh bitcoin@192.168.1.42

Préparer le disque dur

Vous aurez besoin de télécharger l’entièreté de la blockchain Bitcoin qui fait 250go à l’heure où j’écris ces lignes. Cela signifie que la petite carte SD du Raspberry ne peut pas mémoriser tout ça. On va faire en sorte que toutes les informations relatives à la blockchain résident dans le disque externe.

Une fois que vous avez branché votre disque dur sur votre Raspberry, vous devriez le retrouver en tapant la commande df -h. Cette commande va vous lister quelque chose qui ressemble à ce qui suit :

Installer un nœud Lightning Network

Vous devrez trouver un élément ayant la même capacité de stockage que votre disque. Mon disque fait 500go et on le trouve sur le chemin /dev/sda. En général on le devine dans la mesure où c’est le seul disque ayant cette capacité. Notez ce nom quelque part, et retenez cette commande df qui est pratique pour gérer ses disques.

 

Formater (optionnel)

Votre disque dur doit maintenant être vierge (à moins que vous y avez enregistré la blockchain, dans ce cas ignorez cette étape). Tapez la commande fdisk <votre disque> où devient le nom de votre disque, dans mon exemple c’est `fdisk /dev/sda`.

 

Monter le disque

Enfin il faut monter le disque sur le dossier de travail de Bitcoin, on va lui préparer sa maison et son nid douillet. Monter un disque signifie que nous allons associer un répertoire à un disque, octroyant une capacité de mémoire certaine à un répertoire. Et pour ce faire connectez vous à l’utilisateur que nous avions précédemment créé su bitcoin, puis tapez mkdir .bitcoin .lnd.

Il ne vous reste plus qu’à taper mount <votre disque> .bitcoin où votre disque est le chemin trouvé avec df.

mkdir signifie make directory, c’est pour créer un dossier et .bitcoin est le nom du dossier. Par défaut nous travaillerons avec ce dossier pour la blockchain et les portefeuilles. Le “.” est un moyen de cacher le dossier, cependant en aucun cas cela constitue sécurité suffisante.

 

Installer bitcoind et bitcoin-cli

Pour cette partie restez connecté à l’utilisateur bitcoin en tapant su bitcoin.

bitcoind est le système central de Bitcoin, le “d” à la fin signifie “daemon” qui désigne un service exécuté et maintenu par la machine. bitcoin-cli est une interface de commande qui permet d’interagir avec le service Bitcoin. Les deux s’installent ensemble, ce qui est super !

D’abord vous devrez chercher les fichiers d’installation de Bitcoin, je vous le donne ici : bitcoin-0.17.1-aarch64-linux-gnu.tar.gz. Gardez ce lien vous en aurez besoin.

Je tiens à souligner que vous pouvez le chercher par vous même en vous rendant ici et en sélectionnant “ARM Linux 64bits”. Je vous conseille de le faire vous même car les versions sont mises à jour, ci-dessus vous avez la version 0.17.1 de Bitcoin Core.

Suivez les commandes ci-dessous pour installer bitcoind :


Installer un nœud Lightning Network

Notez qu’on donne les droits uniquement à l’utilisateur bitcoin. Désormais tapez les commandes bitcoind -version et bitcoin-cli -version. Si tout est bien installé vous verrez les versions s’afficher.

 

Démarrer bitcoind

bitcoind est installé, il reste plus qu’à le démarrer pour qu’il puisse télécharger frénétiquement la blockchain en se connectant à des nœuds du réseau; automatiquement.

D’abord je vous recommande de vérifier si vous avez bien connecté votre disque dur, suivez l’exemple ci-dessous

Installer un nœud Lightning Network

On peut voir en surligné que /home/bitcoin/.bitcoin est bien connecté au disque ayant 465.8Go d’espace. Si vous n’avez pas cela, revenez sur la partie Monter le disque.

Maintenant on peut écrire le fichier de configuration Bitcoin. Tapez nano .bitcoin/bitcoin.conf, cela va vous ouvrir un éditeur directement dans le terminal, ce qui vous permet d’écrire les configurations. Voilà des configurations que je recommande :

Installer un nœud Lightning Network

Pour sauvegarder tapez CTRL + O et CTRL + X pour quitter.

Et enfin tapez sudo bitcoind qui aura pour effet de lancer le service Bitcoin qui va rapidement commencer à télécharger la blockchain. Pour rappel cette dernière fait près de 200Go donc vous pouvez prendre une pause ici.

Pour observer l’avancement tapez la commande tail -f .bitcoin/debug.log vous verrez des entrées qui ressemblent à ce qui suit :

Installer un nœud Lightning Network

L’information intéressante ici est particulièrement progress=1.000000. Cette valeur est en réalité la progression de la synchronisation de la blockchain, 1 signifie 100%, si vous avez par exemple progress=0.014 alors vous en êtes à 1.4%. Pour quitter le tail tapez CTRL + C.

 

Installer LND et LnCLI

Pour cette partie restez connecté à l’utilisateur bitcoin en tapant su bitcoin.

lnd est le service qui va transformer le RaspberryPi en un nœud Lightning Network. Il va se connecter automatiquement a l’interface de commande du service bitcoind. Tout comme bitcoind LND embarque l’interface de commande lncli.

La procédure pour installer LND ressemble à l’installation de Bitcoin. La première chose à faire est de télécharger le service en vous rendant sur ce lien github.com/lightningnetwork/lnd/releases. Ici vous trouverez toutes les versions officielles de LND. Récupérez maintenant le lien de la dernière version “linux-armv7”, voici celle que j’ai à l’heure où j’écris cet article lnd-linux-armv7-v0.6-beta.tar.gz.

Notez bien que mon exemple s’applique pour la version que j’ai envoyée : v0.6beta.

Installer un nœud Lightning Network

Désormais tapez la commande lnd -version. Si tout est bien installé vous verrez la version s’afficher.

Avant de démarrer LND créez son fichier de configuration en tapant nano .lnd/lnd.conf. Trouvez ci-dessous une configuration que je propose, vous pouvez évidemment mettre ce que vous voulez pour certaines options.

Installer un nœud Lightning Network

“autopilot” vous intrigue peut-être. C’est un algorithme qui connecte automatiquement des nœuds présents dans le réseau décentralisé, typiquement des nœuds Bitcoin et Lightning Network. Autopilot intègre le modèle Barabási–Albert dans l’idée de produire un réseau pair-à-pair en théorie homogène. Personnellement je l’active mais en aucun cas cela est nécessaire.

 

Démarrer LND

Tapez simplement lnd et voilà ! Votre nœud LN est en route. Il va d’abord synchroniser sa blockchain locale avec bitcoind. En attendant vous allez créer votre portefeuille. En effet LND ne va pas exploiter le portefeuille de bitcoind mais gérer le sien, cela veut dire que vous aurez un portefeuille relatif à votre nœud LN.

Laissez lnd tourner, ne quittez pas en faisant CTRL + C, je vous suggère d’ouvrir un nouveau terminal et vous connecter à nouveau sur bitcoin. Quitter votre terminal ne stoppera pas LND.

Une fois de retour suivez cette procédure ci-dessous :

Installer un nœud Lightning Network

TADAM ! Vous avez maintenant un tout nouveau portefeuille et LND sera capable de fonctionner… Après avoir tapé ces commandes :

Installer un nœud Lightning Network

“lncli unlock” est important pour que LND puisse fonctionner car il aura besoin d’un accès à votre portefeuille, ce dernier est chiffré par défaut et il faut le déchiffrer en le déverrouillant. Le mot de passe à insérer est le premier mot de passe que vous avez mis lors de la création du portefeuille avec lncli create.

LND est maintenant prêt à fonctionner. Pour observer ce qu’il se passe tapez la commande tail -f .lnd/debug.log.

Pour vérifier que votre nœud est bien recensé sur les internets allez chercher votre clé publique en tapant lncli getinfo comme dans le terminal ci-dessous :

Installer un nœud Lightning Network

Ma clé publique est :
03a2c34daf010b3501daf704b5a321e82e1631421b7ffa18dd49014967eda82dc9
Elle sert d’identifiant au nœud. Maintenant si votre nœud est bien configuré et en route, vous pouvez le trouver sur ce site : 1ml.com en tapant dans la recherche la clé publique de votre nœud.


Vous êtes maintenant propriétaire d’un nœud Bitcoin et d’un nœud Lightning Network. Cela signifie que vous avez la capacité d’utiliser n’importe quel portefeuille supportant LN en passant par votre propre serveur. Félicitations et bienvenue dans la communauté de l’a… Bitcoin et LN. Dans un article suivant on va voir comment avoir une interface graphique pour gérer son nœud sans passer par les lignes de commande comme nous l’avons fait tout au long de l’installation. Pour l’heure vous pouvez découvrir les possibilités de LN en tapant lncli --help et les possibilités de Bitcoin en tapant bitcoin-cli --help.

 


Cet article de Jonathan Serra, ingénieur logiciel Freelance, a été publié originellement sur blocs.fr sous licence Creative Commons BY-NC-SA. Il est ouvert à contribution en vous rendant sur ce lien : Installer un nœud Lightning Network.