Loïc Morel
Installer et utiliser son nœud Bitcoin RoninDojo.
Faire tourner et utiliser son propre nœud est essentiel pour prendre réellement part au réseau Bitcoin. Bien qu'exécuter un nœud Bitcoin n'apporte aucun avantage pécuniaire à l'utilisateur, il lui permet de préserver sa confidentialité, d'agir en toute indépendance et de maîtriser sa confiance envers le réseau.
Dans cet article, nous allons étudier en détail RoninDojo, une super solution pour faire tourner son propre nœud Bitcoin.
Sommaire :
Si vous n'êtes pas à l'aise avec le fonctionnement et le rôle d'un nœud Bitcoin, je vous conseille de commencer par lire cet article : Le nœud Bitcoin - Partie 1/2 : Notions techniques.

Qu'est-ce que RoninDojo ?
Dojo est un serveur nœud complet Bitcoin développé par les équipes de Samouraï Wallet. Vous pouvez l'installer librement sur n'importe quelle machine.
RoninDojo est un assistant d'installation et un outil d'administration pour Dojo et pour divers autres outils. RoninDojo reprend donc l'implémentation originelle de Dojo, et vient y ajouter de nombreux autres outils tout en facilitant son installation et sa gestion.
Ils proposent ainsi un matériel "plug-and-play", le RoninDojo Tanto, avec RoninDojo préinstallé sur une machine montée par leurs équipes. Le Tanto est une solution payante, intéressante pour ceux qui ne veulent pas mettre les mains dans le cambouis.
Le code de RoninDojo est open-source, il est donc également possible d'installer cette solution sur votre propre matériel. Cette option est économique mais elle requiert un petit peu plus de manipulations, c'est ce que nous allons faire dans cet article.
RoninDojo est un Dojo, il permet donc d'intégrer facilement Whirlpool CLI à votre nœud Bitcoin afin de disposer de la meilleure expérience possible de CoinJoin. Grâce à Whirlpool CLI, non seulement vous pourrez laisser vos bitcoins se remixer 24h/24 7j/7 sans avoir besoin de laisser allumer votre ordinateur personnel, mais vous pourrez également améliorer fortement votre confidentialité.
RoninDojo intègre de nombreux autres outils qui vont venir s'appuyer sur votre Dojo comme par exemple : le calculateur Boltzmann qui permet de déterminer le degré de confidentialité d'une transaction, le serveur Electrum pour connecter vos différents portefeuilles Bitcoin à votre nœud ou encore le serveur Mempool pour observer vos transactions de façon privée.
Par rapport à une autre solution de nœud comme Umbrel, que je vous ai présentée dans cet article, RoninDojo s'inscrit dans une ligne de développement profondément tournée vers les solutions "On Chain" et vers des outils permettant d'optimiser la confidentialité des utilisateurs. RoninDojo ne permet donc pas d'interagir avec le Lightning Network.
Un RoninDojo propose moins d'outils par rapport à un Umbrel, mais les quelques fonctionnalités essentielles pour un Bitcoiner présentes sur Ronin sont incroyablement stables.
Donc si vous n'avez pas besoin de toutes les fonctionnalités d'un serveur Umbrel, et que vous souhaitez exclusivement disposer d'un nœud simple et stable avec quelques outils essentiels comme Whirlpool ou Mempool, alors RoninDojo est sûrement une bonne solution pour vous.
Selon moi, la ligne de développement d'Umbrel est très tournée vers le Lightning Network et vers des outils polyvalents. Cela reste un nœud Bitcoin, mais on cherche à en faire un mini-serveur multi-tâches. À l'inverse, la ligne de développement de RoninDojo se rapproche plus de celle des équipes de Samourai Wallet, et se focalise sur les outils essentiels d'un Bitcoiner lui permettant une pleine indépendance et un gestion optimisée de sa confidentialité sur Bitcoin.
Veuillez noter que la mise en place d'un nœud RoninDojo reste légèrement plus complexe qu'un nœud Umbrel.
Maintenant que nous avons pu dresser le portrait de RoninDojo, voyons ensemble comment mettre en place ce nœud.
Quel matériel choisir ?
Pour choisir la machine qui héberge et fait tourner RoninDojo, vous disposez de plusieurs options.
Comme expliqué précédemment, le choix le plus simple sera de commander le Tanto, une machine plug-and-play conçue spécialement pour cet usage. Pour commander le votre, c'est par ici : https://shop.ronindojo.io/product-category/nodes/.
Etant donné que les équipes de RoninDojo produisent du code open-source, il est également possible d'implémenter RoninDojo sur d'autres machines. Vous pouvez ainsi retrouver les dernières versions de l'assistant d'installation sur cette page : https://ronindojo.io/en/downloads.html, et les dernières versions du code sur cette page : https://code.samourai.io/ronindojo/RoninDojo
Personnellement, je l'ai installé sur un Raspberry Pi 4 8GO et tout fonctionne parfaitement.
Attention tout de même, les équipes de RoninDojo nous indique qu'il y a souvent des problèmes à cause du boitier et de l'adaptateur du SSD. Il est donc déconseillé d'utiliser un boitier avec un câble pour le SSD de votre machine. Préférez plutôt utiliser une carte d'extension de stockage spécialement conçue pour votre carte mère comme celle-ci : Carte d'extension de stockage Raspberry Pi 4.
Voici un exemple de mise en place pour faire votre propre nœud RoninDojo :
Un Raspberry Pi 4.
Un boitier avec un ventilateur.
Une carte d'extension de stockage compatible.
Un câble d'alimentation.
Une micro SD industrielle de 16GO ou plus.
Un SSD de 1TO ou plus.
Un câble ethernet RJ45, catégorie 8 conseillée.
Comment installer RoninDojo ?
Etape 1 : Préparer la micro SD bootable.
Une fois que vous avez monté votre machine, vous allez pouvoir commencer l'installation de votre RoninDojo. Pour ce faire, commencez par créer une micro SD bootable en y gravant l'image disque adéquat.
Insérez votre carte micro SD dans votre ordinateur personnel, puis rendez-vous sur le site officiel de RoninDojo pour récupérer l'image disque RoninOS : https://ronindojo.io/en/downloads.html.
Téléchargez l'image disque qui correspond à votre matériel. Dans mon cas, j'ai téléchargé l'image "MANJARO-ARM-RONINOS-RPI4-22.03.IMG.XZ" :

Une fois l'image téléchargée, vérifiez son intégrité grâce au fichier en .SHA256 correspondant. Je vous décris en détail comment faire cela dans cet article : Comment vérifier l'intégrité d'un logiciel Bitcoin sous Windows ?
Les instructions spécifiques à la vérification de l'intégrité de RoninOS sont également disponibles sur cette page en anglais : https://wiki.ronindojo.io/en/extras/verify.
Pour graver cette image sur votre micro SD, vous pouvez utiliser un logiciel tel que Balena Etcher que vous pouvez télécharger ici : https://www.balena.io/etcher/.
Pour ce faire, sélectionnez l'image dans Etcher et flashez la sur la micro SD :

Une fois que l'opération est terminée, vous pouvez insérer la micro SD bootable dans le Raspberry Pi et allumer la machine.
Etape 2 : Configurer RoninOS.
RoninOS est le système d'exploitation de votre nœud RoninDojo, C'est une version modifiée de Manjaro, une distribution Linux. Après avoir démarré votre machine et attendu quelques minutes, vous pourrez commencer sa configuration.
Pour vous y connecter à distance, vous allez devoir trouver l'adresse IP de votre machine RoninDojo. Pour ce faire vous pouvez par exemple vous connecter au tableau d'administration de votre box internet, ou bien vous pouvez également télécharger un logiciel tel que https://angryip.org/ pour scanner votre réseau local et trouver l'IP de la machine.
Une fois l'IP trouvée, vous pourrez prendre la main sur votre machine depuis un autre ordinateur connecté au même réseau local en utilisant SSH.
Depuis un ordinateur sous MacOS ou Linux, ouvrez simplement le terminal. Depuis un ordinateur sous Windows, vous pouvez utiliser un outil spécialisé comme Putty ou bien directement Windows PowerShell.
Une fois le terminal ouvert, tapez la commande suivante :
ssh root@192.168.?.?
Remplacez y simplement les deux points d'interrogation par l'IP de votre RoninDojo trouvée précédemment.
Astuce : Dans un Shell, faites un clic droit pour coller un élément.
Ensuite, vous allez arriver sur le panneau de configuration de Manjaro. Choisissez la juste disposition de votre clavier en utilisant les flèches pour changer de cible dans la liste déroulante.

Choisissez un nom d'utilisateur et un mot de passe pour votre session. Utilisez un mot de passe fort et faite en une sauvegarde sûre. Vous pouvez éventuellement utiliser un mot de passe léger le temps de l'installation, vous pourrez par la suite modifier facilement ce mot de passe avec la possibilité de le "copier-coller" dans RoninUI. Cela vous permettra de mettre un mot de passe très costaud, sans pour autant passer trop de temps à l'écrire manuellement lors de la mise en place de Manjaro.

Ensuite, on vous demandera également de choisir un mot de passe root. Pour le mot de passe root, entrez directement un mot de passe fort. Vous n'aurez pas la possibilité de le modifier depuis RoninUI. Pensez également à bien sauvegarder ce mot de passe root.
Puis entrez votre localité et votre zone temporelle.


Ensuite choisissez un nom d'hôte.

Enfin, vérifiez les informations de configuration de Manjaro puis validez.

Etape 3 : Télécharger RoninDojo.
La configuration initiale de RoninOS va se faire. Une fois terminée comme sur la capture d'écran ci-dessus, la machine va redémarrer. Attendez alors quelques instants, puis entrez la commande suivante pour vous connecter de nouveau à votre machine RoninDojo :
ssh pseudo@192.168.?.?
Remplacez y simplement "pseudo" par le nom d'utilisateur que vous avez choisi précédemment, ainsi que les points d'interrogation par l'IP de votre RoninDojo.
Entrez ensuite votre mot de passe utilisateur.
Dans le terminal, cela donne ça :

Vous êtes maintenant connecté à votre machine qui dispose pour le moment simplement de RoninOS. Il va falloir maintenant y installer RoninDojo.
Téléchargez la dernière version de RoninDojo en entrant la commande suivante :
git clone https://code.samourai.io/ronindojo/RoninDojo
Le téléchargement se fait rapidement. Cela vous donnera cela dans le terminal :

Attendez la fin du téléchargement puis installez et accédez à l'interface utilisateur de RoninDojo en utilisant la commande suivante :
~/RoninDojo/ronin
On va alors vous demander d'entrer votre mot de passe utilisateur :

Cette commande est nécessaire seulement la première fois que vous accédez à votre RoninDojo. Par la suite, pour accéder à RoninCLI via SSH, vous devrez simplement entrer la commande [SSH pseudo@192.168.?.?] en remplaçant "pseudo" par votre nom d'utilisateur et en mettant l'IP de votre nœud. On vous demandera votre mot de passe utilisateur.
Ensuite vous verrez cette magnifique animation :

Puis vous arriverez enfin sur l'interface utilisateur CLI de RoninDojo.
Etape 4 : Installer RoninDojo.
Depuis le menu principal, accédez au menu "System" en utilisant les flèches de votre clavier. Utilisez la touche d'entrée pour valider votre choix.

Puis allez dans le menu "System Setup & Install".

Enfin, cochez "System Setup" et "Install RoninDojo" en utilisant la barre d'espace, puis sélectionnez "Accepter" pour lancer l'installation.

Laissez l'installation se faire tranquillement. Dans mon cas cela a pris environ 2 heures. Laissez votre terminal ouvert durant l'opération.
Regardez parfois votre terminal, on va vous demander de taper sur une touche à certains stades de l'installation comme ici par exemple :

A la fin de l'installation, vous verrez les différents conteneurs démarrer :

Puis votre nœud va redémarrer. Connectez vous de nouveau à RoninCLI pour l'étape suivante.

Etape 5 : Télécharger la chaine de preuve de travail et accéder à RoninUI.
Une fois l'installation terminée, votre nœud va se mettre à télécharger la chaine de preuve de travail Bitcoin. C'est ce que l'on appelle l'IBD (Initial Block Download). Cela prend en général entre 2 et 14 jours en fonction de votre connexion internet et de votre appareil.
Vous pouvez suivre l'avancement du téléchargement de la chaine en vous connectant à l'interface web RoninUI.
Pour y accéder depuis un réseau local, tapez sur votre navigateur dans la barre d'adresse :
Soit directement l'adresse IP de votre machine (192.168.?.?)
Soit : ronindojo.local
Pensez à désactiver votre VPN si vous en utilisez un.
Si vous ne parvenez pas à vous connecter à RoninUI depuis votre navigateur, vérifiez le bon fonctionnement de l'application depuis votre Terminal connecté à votre nœud via SSH. Connectez vous au menu principal en procédant comme précédemment :
Tapez : SSH pseudo@192.168.?.? en remplaçant avec vos identifiants.
Entrez votre mot de passe utilisateur.
Une fois sur le menu principal, allez dans :
RoninUI > Restart
Si l'application redémarre correctement, c'est un problème au niveau de la connexion depuis votre navigateur. Vérifiez que vous n'utilisiez pas un VPN et vérifiez que vous soyez bien connecté au même réseau que votre nœud.
Si le redémarrage sort une erreur, essayez de mettre à jour le système d'exploitation puis de réinstaller RoninUI. Pour mettre à jour l'OS :
System > Software Updates > Update Operating System
Une fois la mise à jour et le redémarrage terminés, reconnectez vous à votre nœud via SSH puis réinstallez RoninUI :
RoninUI > Re-install
Suite au nouveau téléchargement de RoninUI, essayez de vous connecter via votre navigateur à RoninUI.
Astuce : Si vous sortez de RoninCLI sans faire exprès, et que vous vous retrouvez sur le terminal Manjaro, entrez simplement la commande "ronin" pour revenir directement sur le menu principal de RoninCLI.
Vous pouvez également vous connecter à l'interface web RoninUI depuis n'importe quel réseau en utilisant Tor. Pour ce faire, récupérez l'adresse Tor de votre RoninUI depuis RoninCLI :
Credentials > Ronin UI
Récupérez l'adresse Tor terminant par .onion puis connectez vous à Ronin UI en entrant cette adresse dans votre navigateur Tor. Attention à ne pas faire fuiter vos différents credentials, ce sont des informations sensibles.

Une fois connecté, on vous demandera votre mot de passe utilisateur. C'est le même que vous utilisez pour vous connecter via SSH.

Nous pouvons y observer l'avancée de l'IBD. Patience, vous êtes en train de récupérer l'intégralité des transactions effectuées sur Bitcoin depuis le 3 Janvier 2009.
Après avoir téléchargé l'ensemble de la chaine de blocs, l'indexeur va compacter la base de donnée. Cette opération prend environ 12 heures. Vous pouvez également suivre son avancement sous "Indexer" sur RoninUI.
Votre nœud RoninDojo sera complètement fonctionnel après cela :

Si vous souhaitez changer le mot de passe utilisateur pour en mettre un plus fort, vous pouvez le faire dès maintenant depuis l'onglet "Settings". Sur RoninDojo, il n'y a pas de couche de sécurité supplémentaire, alors je vous conseille de mettre un mot de passe réellement costaud et d'en soigner sa sauvegarde.
Comment utiliser RoninDojo ?
Une fois la chaine téléchargée et compactée, vous pourrez commencer à profiter des services que vous offre votre nouveau nœud RoninDojo. Voyons ensemble comment les utiliser.
Connecter ses logiciels de portefeuilles à electrs.
La première utilité de votre nœud fraichement installé et synchronisé sera de diffuser vos transactions au réseau Bitcoin. Vous allez donc sûrement vouloir y connecter vos différents logiciels de gestion de portefeuilles.
Vous pouvez faire cela grâce à Electrum Rust Server (electrs). L'application est normalement préinstallée sur votre nœud RoninDojo. Si ce n'est pas le cas, vous pouvez l'installer manuellement depuis l'interface RoninCLI.
Allez simplement dans :
Applications > Manage Applications > Install Electrum Server
Pour obtenir l'adresse Tor de votre Electrum Server, depuis le menu RoninCLI, allez dans :
Credentials > Electrs
Vous n'aurez plus qu'à entrer le lien en .onion sur le logiciel de votre portefeuille. Par exemple sur Sparrow Wallet, il suffit d'aller dans l'onglet :
File > Preferences > Server
En type de serveur, sélectionnez "Private Electrum", puis entrez l'adresse Tor de votre Serveur Electrum dans la case correspondante. Enfin, cliquez sur "Test Connection" pour tester et enregistrer votre connexion.

Connecter ses logiciels de portefeuilles à Samourai Dojo.
Plutôt que d'utiliser Electrs, vous pouvez également utiliser Samourai Dojo pour connecter votre portefeuille logiciel compatible à votre nœud RoninDojo. Par exemple, Samourai Wallet propose cette option.
Pour ce faire, il suffira de scanner le QR code de connexion de votre Dojo. Pour y accéder depuis RoninUI, cliquez sur l'onglet "Dashboard" puis sur le bouton "Manage" dans la case de votre Dojo. Vous pourrez ensuite voir les QR codes de connexion à votre Dojo et à BTC-RPC Explorer. Pour les mettre en clair, cliquez sur "Display values".

Pour connecter votre portefeuille Samourai Wallet à votre Dojo, vous devrez scanner ce QR code à l'installation de l'application :

Utiliser son propre Explorer Mempool.
Outil essentiel du Bitcoiner, l'explorer vous permet de vérifier différentes informations sur la chaine Bitcoin. Avec Mempool, vous pouvez par exemple vérifier en temps réel les frais appliqués par les autres utilisateurs afin d'ajuster au mieux les vôtres. Vous pouvez également vérifier le stade de confirmation d'une de vos transactions, ou encore regarder le solde d'une adresse.
Ces outils d'explorer peuvent vous exposer à des risques de perte de confidentialité et vous obligent à faire confiance à la base de données d'un tiers. Lorsque vous utilisez cet outil en ligne sans passer par votre propre nœud :
Vous risquez de faire fuiter des informations sur votre portefeuille.
Vous faites confiance au gestionnaire du site web pour la chaine de preuve de travail qu'il héberge.
Afin d'éviter ces risques, vous pouvez utiliser votre propre instance Mempool sur votre nœud via le réseau Tor. Avec cette solution, non seulement vous préservez votre confidentialité lorsque vous utilisez le service, mais vous n'avez également plus besoin de faire confiance à un prestataire puisque vous interrogez votre propre base de donnée.
Pour cela, commencez par installer Mempool Space Visualizer depuis RoninCLI :
Applications > Manage Applications > Install Mempool Space Visualizer
Une fois installé, récupérez le liens vers votre Mempool. L'adresse Tor vous permettra d'y accéder depuis n'importe quel réseau. De la même façon, nous récupérons ce lien via RoninCLI :
Credentials > Mempool

Entrez simplement votre adresse Mempool Tor dans le navigateur Tor pour profiter de votre propre instance Mempool, basée sur vos propres données. Je vous conseille d'ajouter cette adresse Tor à vos favoris afin de pouvoir y accéder plus rapidement. Vous pouvez également en faire un raccourci sur votre bureau.

Si vous ne disposez pas encore du navigateur Tor, vous pouvez le télécharger ici : https://www.torproject.org/download/
Vous pouvez aussi y accéder depuis votre smartphone en y installant Tor Browser puis en entrant cette même adresse. Depuis n'importe où, vous pourrez regarder l'état de la chaine Bitcoin en utilisant votre propre nœud.
Utiliser Whirlpool CLI.
Votre nœud RoninDojo inclut également WhirlpoolCLI, une interface de ligne de commande à distance permettant d'automatiser les mixes Whirlpool.
Lorsque vous réalisez un CoinJoin avec l'implémentation Whirlpool, l'application que vous utilisez doit rester ouverte afin de pouvoir exécuter des mixes et des remixes. Ce procédé peut être fastidieux pour l'utilisateur qui cherche à disposer d'anon sets élevés, puisque l'appareil qui héberge l'application intégrant Whirlpool doit constamment rester allumé. Concrètement, cela veut dire que si vous souhaitez engager vos UTXO dans des remixes 24h/24, vous devrez alors laisser votre ordinateur personnel ou votre téléphone constamment allumé avec l'application ouverte.
Une solution à cette contrainte est d'utiliser WhirlpoolCLI sur une machine destinée à être allumée constamment, comme par exemple un nœud Bitcoin. Grâce à cela, nos UTXO pourront se remixer 24h/24 et 7j/7 sans que l'on ait besoin de laisser une autre machine que notre nœud Bitcoin en fonctionnement.
WhirlpoolCLI s'utilise avec WhirlpoolGUI, une interface graphique à installer sur un ordinateur personnel permettant de gérer facilement les Coinjoins. Je vous explique en détail comment mettre en place Whirlpool CLI avec votre propre dojo dans cet article : https://www.pandul.fr/post/comprendre-et-utiliser-le-coinjoin-sur-bitcoin#:~:text=dans%20cette%20partie.-,Tutoriel%20%3A%20Whirpool%20CLI%20sur%20Dojo%20et%20Whirlpool%20GUI.,-Si%20vous%20souhaitez
Pour en savoir plus sur le Coinjoin de façon générale, je vous explique tout dans cet article : https://www.pandul.fr/post/comprendre-et-utiliser-le-coinjoin-sur-bitcoin
Utiliser Whirlpool Stat Tool.
Après avoir réalisé des CoinJoin avec Whirlpool, vous souhaiterez peut-être savoir concrètement quel est le niveau de confidentialité de vos UTXO mixés. Whirlpool Stat Tool vous permet de faire cela facilement. Grâce à cet outil, vous pourrez calculer le score prospectif et le score rétrospectif de vos UTXO mixés. Pour en savoir plus sur le calcul de ces Anon Sets et sur leur fonctionnement, je vous conseille de lire cette partie : https://www.pandul.fr/post/comprendre-et-utiliser-le-coinjoin-sur-bitcoin#:~:text=perdre%20en%20confidentialit%C3%A9.-,Anon%20Sets.,-Comme%20expliqu%C3%A9%20pr%C3%A9c%C3%A9demment
L'outil est préinstallé sur votre RoninDojo. Pour le moment, il est uniquement disponible depuis RoninCLI. Pour le lancer depuis le menu principal, allez dans :
Samourai Toolkit > Whirlpool Stat Tool
Les instructions d'utilisation vont défiler. Une fois cela terminé, tapez sur n'importe quelle touche pour accéder aux lignes de commande :
