Hello, bitcoineuses and bitcoiners! In this somewhat special (and fairly technical) article, I will take you step-by-step through the installation of a full Bitcoin node like no other.
You already know nodl and its complete plug-and-play node solution, or even Umbrel , which we had the opportunity to discuss in our forums. Each has its particular features and its specific approach to what a full Bitcoin node should allow , how and above all with what compromises .
Today, I’m going to introduce you to an additional solution for deploying a full Bitcoin node , with very cypherpunk ethos : RoninDojo . Here we go !
RONINDOJO, THE BEST WAY TO BECOME A BITCOIN SAMURAI
If you may not be familiar with the Ronin project, you have most likely already heard of Samourai Wallet and Whirlpool , the most developed and successful tools today for anyone who wants to use Bitcoin while protecting their life. privacy and thwarting the classic heuristics used by companies specializing in monitoring the Bitcoin blockchain . With RoninDojo , you will be able to use these tools in a totally sovereign way , not depending on anyone… and keeping yourvaluable personal information and your use of the Bitcoin network for you .
But you will also be able to use the main tools available that help make Bitcoin a true peer-to-peer , pseudonymous and uncensorable digital currency : whether it’s connecting your favorite software wallet (like Electrum or Specter ), verifying the status of a transaction or the balance of a bitcoin address , to use the Samourai wallet and its bitcoin mixing tools on a daily basis from your mobile in complete confidentiality or to buyor to sell bitcoin from hand to hand thanks to Bisq , RoninDojo is probably the ultimate complete node that you absolutely need.
But where the RoninDojo shows all its interest is if you plan to use the Samourai wallet and transaction obfuscation tools , or the Whirlpool mixer : as we will see, if you use these tools from your mobile , normally and without running your own full node (and its Dojo, hence its name RoninDojo), you are forced to share your extended public keys (xpub) with Samourai’s servers …which may seem at odds with the the very principle of these tools supposed to allow you to regain your right to private use of your bitcoins. This is why the atomic heart of the Samurai solution, theDojo , is natively integrated into RoninDojo: if you connect Samourai Wallet and its tools to your own full node and its Dojo , you can use all these privacy solutions without compromising yourself with Samourai, and therefore… with complete freedom and protection effectively your privacy .
RECLAIMING YOUR RIGHT TO PRIVACY USING BITCOIN, WITH SAMOURAI AND WHIRLPOOL
The Basics of Bitcoin Transactions: UTXOs
On Bitcoin, the balances of the different addresses are not stored in the same way as on a traditional bank register . We talk about UTXO model (Unspent Transaction Output) with an unspent output. Thus, the balance of a Bitcoin address is obtained by adding up all the outflows to this address that have not yet been spent. As you can guess, it is then possible to establish links between transactions from a given address or a transaction identifier , and thus to reconstitute all the related history .
In other words, to track your every expense , as long as one (or more) bitcoin address(es) can be reconciled with your identity – for example, potentially, when you deposit and /or withdraw bitcoins from platforms on which you had to undergo strict KYC .
THE USEFULNESS OF COINJOINS TO COVER THEIR TRACKS
But you will find that, despite this state of affairs, a Bitcoin transaction can therefore have several inputs and several outputs : in other words, several wallets can make a transfer using only one common transaction. This is when the idea was born to allow multiple users to mix their respective transfers in a single transaction. This is called a CoinJoin transaction .
And if I’m talking to you about CoinJoin today, it’s because one of the mottos of Samourai Wallet (and its Whirlpool mixer ) is precisely “make every expense a CoinJoin” . Thus, one can easily imagine that it quickly becomes much more difficult to follow the expenses of a given bitcoiner since its transactions consist mainly of mixtures between its bitcoins and those of other licensed samurai . This is the whole purpose of the maneuver : to regain the right to use Bitcoin without being tracked from evening to morning.
THE PREREQUISITES TO START INSTALLING THE RONINDOJO
To begin, you will need to obtain the necessary equipment to install your own RoninDojo , preferably relying on the equipment offered by the RoninDojo team (particularly because of the power supply problems and data corruptions that you don’t want to live can happen with some external hard drives that connect to the Raspberry Pi via a USB adapter ): you will find several official configurations and detailed hardware to buy on Amazon right here .
Concerning me, I have equipped myself with the following equipment ( at my own risk , since I have chosen to use an external SSD hard drive connecting via USB, which is precisely risky ):
- Raspberry Pi 4 8GB + power supply,
- Brumphy case for the Raspberry Pi, including an integrated mountable fan and heatsinks .
- SanDisk Extreme Portable SSD 1TB SSD Hard Drive,
- 16GB micro-SD card to install the RoninDojo operating system .
Let’s start by going to download the RoninOS to flash on your micro-SD card, to choose according to the model of microcomputer that you have chosen to use, directly on the project site . In my case, it will therefore be the RaspberryPi 4. The RoninOS is a modified and optimized version of a Manjaro distribution .
Install Balena Etcher to flash the OS on your micro-SD card: just launch the utility , select the .img downloaded previously, select your micro-SD connected to your computer using a adapted adapter, and to flash . In about ten minutes, you’re done!
Now that your micro-SD card is flashed, you can insert it into the Raspberry Pi , connect said Raspberry Pi to a power outlet , to your SSD hard drive and to your internet network (ideally by Ethernet in RJ45 for better stability ).
To continue, you will need the local address of your Raspberry Pi , to be able to connect to it remotely in SSH , using a command terminal . You will find this information either directly from the management utility for your local network (type livebox/ si in your browser if you are at Orange, or http://192.168.1.1/ for other access providers such as SFR for example), or using a dedicated utility like AngryScanner .
Once done, open a terminal and log in as the root superuser using the following command (or you will replace 192.168.XX with the local address of your Raspberry Pi):
Follow the different steps of the operating system configuration (choice of keyboard, locality, language), also choose an identifier and an associated password to be able to connect as a simple user , and do the same for the user root master . Once done, validate and then reconnect as a user with the following command (in this tutorial, we will use the generic username , but you will have to replace it in the commands with the username you have chosen) :
ssh email@example.com.X.Xthen entering your password,
Update the entire system with the following command line:
sudo pacman -Syyu
When the update is finished, restart the program with a small reboot of the families:
sudo systemctl reboot
HOW TO INSTALL RONINDOJO, THE NUCLEAR HEART OF YOUR BITCOIN FULL NODE
Let’s make it clear that I’m not going to reinvent the wheel in this article: I just followed the RoninDojo team’s excellent detailed tutorial. I therefore take this opportunity to share it with you here, enriched with my difficulties and the small solutions that I have been able to find (alone, by seeking help from the RoninDojo community on their official Telegram).
The goal: to help you easily deploy your instance of the Samourai Dojo , alongside your own full Bitcoin node , and to allow you to use the tools useful to the bitcoiner concerned with extricating himself from the clutches of all KYC at all times. help of this single node, getting rid of all the intermediaries born in the ecosystem and usually quite happy to impose many barriers on you … and then follow you , ultimately conditioning the use you will make of your bitcoins .
Now back to the continuation of the installation of your Dojo : once rebooted, the Raspberry will work to repatriate the Bitcoin blockchain , as we have seen. Log back in with your newly created credentials:
ssh firstname.lastname@example.org.X.X, then your password,
Now, using the following command, download the latest version of RoninDojo directly to your Raspberry Pi.
git clone https://code.samourai.io/ronindojo/RoninDojo
Once this is done, launch the RoninDojo interface itself:
Once the installation is complete , you are asked for the previously chosen password to launch the graphical interface itself. Fill it in, and let’s go! A red and black screen opens, and allows you to manage the rest of the installation , without using command lines (I heard you heave a sigh of relief, and that’s normal!).
Select “System” , then “System Setup & Install” , and finally check the two available items. All you have to do is go down, click on “Accept” , and let’s go!
Your terminal will come alive quite a bit , downloading and installing a whole bunch of tools and dependencies for a good 30 minutes, then it will ask you to make a choice to index it from your Bitcoin blockchain. Indexing it is what allows you to query your full node and the blockchain stored there in order to extract useful information (including the balance of the wallets that you will then connect to it). If you only plan to use Samourai services, choose 1/ to install the Samourai indexer ; if you also plan to use it to connect other external wallets (like Electrum , which we will see together later) and/or use a hardware wallet (like a Ledger ), choose the second option to install the Electrum Rust indexer Server . For the purposes of this article (and my daily use), I therefore chose the second option.
Once all this has been validated, the various tools useful for the operation of your node will be configured and deployed (in the form of Docker software containers ).
A good part of the job is then done: your complete node now begins to run and will download the entire Bitcoin blockchain (the famous Initial Blockchain Download , or IBD ). This process is quite slow : personally, with my Raspberry Pi 4 8GB and a fiber internet network, I had to wait 4 full days . Note that it will not be possible to use the node itself until this first download is complete, and that a final step is added at the end of this download: the compaction of the said integral blockchain, by l ‘indexthat you installed before. This last step can take about ten hours once the blockchain is fully downloaded, during which you may experience more or less erratic access difficulties to the management interface of your complete node via Tor, RoninUI , which we now let’s talk. So if this happens to you: don’t panic, leave time to time , go do something else ( enjoy the terraces , there, like that, but it’s just an idea), everything normally goes back to normal quietly in the end.
DEPLOY RONINUI, THE GRAPHICAL INTERFACE OF THE PERFECT BITCOIN SAMURAI
While the Bitcoin blockchain is coming to you through the myriad of Tor-powered nodes your Raspberry Pi is connected to, you can move on to deploying RoninUI .
RoninUI, what is it? Nothing less than the main menu from which you can monitor , manage and operate your complete node , as well as configure it to serve as the only trusted base for your wallets ( Electrum on a desktop computer and Samurai Wallet on your mobile) , your bitcoin mixing utility ( Whirlpool ), or even your Bisq peer-to-peer marketplace to buy and sell bitcoin without KYC .
Two solutions to connect to the RoninUI graphical interface : either from a classic browser by going to the address http://ronindojo.local ; or log in using the Tor browser . Tor is in my opinion the best solution, for several reasons: first, you will not have access to all the configuration tools of the Dojo with the classic connection, then the latter is of course only usable from your local network . You must therefore reconnect to the RoninDojo in SSH:
ssh email@example.com.X.X, then your password, and a second time your password to automatically launch the RoninDojo interface,
Then go to the Credentials menu :
You will then have the choice between obtaining the connection identifiers useful for certain tools only, or for all. To keep it simple, because we will come back to this menu several times during the course of setting up your full Bitcoin node, this time choose > .
If it’s not done yet, and since we’re no longer there, install the Tor browser and launch it!
Launch the Tor browser, and once connected, go to the .onion address retrieved previously:
You are invited to create a new password , allowing you later and using this address in .onion , to access anytime and from anywhere in the world to your complete Bitcoin node … from when you connect to it using the Tor browser .
You are now faced with the graphical interface of your complete node, at the start of synchronization:
You can, as I told you, take a nice break , save this article in your reading tabs , and resume our bitcoin adventures once the initial blockchain download and compaction is complete (so let’s count 3 to 4 days ).
HOW TO CONNECT YOUR MOBILE SAMOURAI WALLET TO THE DOJO
Now that the Bitcoin blockchain is downloaded and quietly compacted, we can get to the heart of the matter : connecting your Samourai Wallet wallet to your full node and your attached local Dojo instance. You will thus be able to use your wallet as you see fit , without needing any intermediary to transmit your transactions to the network, nor to check the validity of the transactions that will be sent to you. In short, a totally sovereign bitcoiner experience , and with some tools to best protect your right to privacy .when you use your wallet.
To keep it simple , let’s assume that you don’t have any Samourai wallet yet , and that you are going to create a new one for the occasion. This situation will be the easiest to manage. Indeed, if you plan to connect an existing wallet , you will have to go through a classic rescan step (but complex for the beginner) of your addresses with the tools of the Dojo to repatriate the balances , which can initially lead you to think that the wallet does not find your funds, displaying a balance of 0 bitcoin. To avoid unnecessary stress, so let’s start from scratch. Download the latest version of Samourai Wallet , install it and launch it .
Then go to RoninUI , with the Tor browser . Log in, and go down in the general menu, to click on “Manage” , in the section dedicated to the Dojo .
By doing so, you will have access to a “Dojo Pairing” QR Code and different administration keys . From your mobile in Samourai Wallet, click on “Scan QR” and scan this QR Code .
Congratulations , you have just generated your Samourai wallet , directly connected to your full node and your Dojo ! All you have to do is carefully write down your 12 words and define a passphrase (to be noted down just as carefully!). These 12 words and this passphrase are the equivalent of your private key , and give access to your funds … So store them with care ! At launch, take the opportunity to request the generation of your PayNym , a discreet and pseudonymous wayto send and receive bitcoins peer-to-peer (to which we will return).
There you go, your Samourai wallet is already functional. You can check this by clicking on the network icon on the home screen, and if everything went as expected, you can see that all the lights are green , with a connection to your Dojo full node active !
But why stop there? Let’s continue to explore the possibilities offered by your brand new Dojo !
DAILY USE OF THE SAMOURAI WALLET
OUTSMART THE ON-CHAIN MONITORING OF YOUR DAILY EXPENSES
As we discussed at the beginning of this article, Samourai allows you to perform different types of CoinJoin . For this, once connected to your RoninDojo, nothing complicated, but you will necessarily need the help of another “samurai” to get there. To allow samurais to interact with each other, the Samourai Wallet offers a PayNym : when creating your wallet, you can generate a pseudonymous profile that allows you to connect to other profiles under pseudonyms , and to send and receive bitcoins just by connecting with each other, even if you don’t know each other. And above all, by bonding with these other samurai, you will be able tocreate CoinJoin with them , if they agree to participate. To find samurai , nothing could be simpler: open your Tor browser and go to the following address: http://paynym.is/nyms , and scan the QR code of an anonymous samurai (or several) from the directory public to be able to participate in CoinJoins in the future.
Samourai allows you, regardless of whether or not you use a CoinJoin , to also pay additional fees to use their Ricochet functionality : with Ricochet , funds are delivered in a more condensed way, by adding transition addresses through which your sent funds will transit before arriving at their final destination , in such a way as to complicate the task of anyone curious about the blockchain. You can also request staggered delivery of funds over time.
Regarding the two types of CoinJoin itself , Samourai allows you to choose between sending a Stowaway transaction (to a Samourai user) or Stonewallx2 (to any wallet or address). Each has its particularities of mixing, making it possible to play on plausible deniability and a clever probabilistic mix, which means that an external observer of this single transaction will not be able to identify with certainty where the funds concerned come from, nor where they go… nor in what exact quantity. Samourai offers graphical examples of such transactions, to better measure their effectiveness.
As a reminder, here is a classic transaction:
Using Samurai’s tools, it becomes possible to send mutualism transactions that look like this:
It then becomes much more difficult to identify with certainty the origin and destination of your transactions , since they are skilfully mixed with others. A fairly simple (but collaborative) way to cover your tracks and regain some privacy by using Bitcoin. And the interest is doubled when you can do all this without communicating with any trusted intermediary , not even Samurai , directly with your RoninDojo !
HOW TO CONNECT WHIRLPOOL TO YOUR DOJO TO MIX YOUR BITCOINS
After this introduction to CoinJoin, let’s discover together the ultimate solution offered by Samourai: Whirlpool. Whirlpool allows Samourai users to form temporary mixing cooperatives , the way miners can federate into mining cooperatives. The application therefore offers three different pools to mix the UTXOs of its users (0.5 BTC, 0.05 BTC or 0.01 BTC). The Whirlpool GUI desktop application already allows you to participate in this mixing, as does the Samourai mobile application, but as you will have understood, the best solution is to directly connect your full node to avoid leaking any personal information during your use of this toolconfidentiality .
Download Whirlpool to your computer from the official Samourai website , install the suite
open-jdk-8on your computer if you haven’t already (depending on your OS, the steps to follow may differ), then launch the Tor Browser . Start your terminal, connect to RoninDojo and then find the .onion address needed to access Whirlpool:
ssh firstname.lastname@example.org.X.X, and twice your password to access the RoninDojo and launch its graphical interface,
Credentials > Whirlpool
Make sure the Tor Browser is open, then launch the Whirlpool GUI application on your computer. Select “Remote CLI”.
Copy/Paste the .onion address previously retrieved into the “CLI Address” field. A Tor Proxy field will be filled in automatically (check that it is filled in correctly
socks5:127.0.0.1:9150). As this is your first login, do not check or fill in the field
API Key. Press
Open your mobile Samourai Wallet, click on the three small dots at the top right, select
Transactions, and finally
Pair to Whirlpool GUI.
Scan this QR code with your Whirlpool GUI using a webcam, or email yourself the corresponding text key and copy it into the Whirlpool GUI . Validate, and…
You are definitely plugged in … or almost, since you will still have to connect by entering the passphrase of the wallet that you created in Samourai, at the very start.
Finally, note that if you have already attempted to configure or use the Whirlpool in the past, it may be necessary to carry out a complete reset of the Whirlpool before all this connection work (
Reset GUI) because Whirlpool may attempt to open an old wallet with an old passphrase and not recognizing the new one… which is why I suggested you start this installation from a new newly created Samourai wallet
HOW TO CONNECT YOUR BISQ CLIENT TO THE DOJO
As you will have understood, the interest of having deployed your own full Bitcoin node and your Dojo is not purely symbolic: running a full Bitcoin node is very nice, but it does not bring anything crazy to the network as such, the whole point is to use it on a daily basis . And it is therefore possible to use it for something other than just your wallet.
If you’re the type looking for alternatives to big platforms and their ever – increasing transparency requirements , you might have heard of Bisq .
Bisq is a decentralized exchange platform focused on buying and selling bitcoins in traditional currencies (euro, dollar, etc.). The platform also allows you to exchange bitcoin for altcoins, such as monero (XMR).
Bisq is free software that is available as open source on GitHub . This software allows the user to connect directly to the peer-to-peer network of Bitcoin and that of Bisq via Tor , and to proceed to the exchanges thanks to a specific protocol.
Bisq does not depend on any central server and is therefore a fully decentralized exchange . In particular, the software does not require any personal information apart from those relating to the means of payment, and manages a local wallet, which means that the user is truly the owner of his funds at all times.
And in this logic , it is thus possible for you – again – to depend on no one other than yourself to interact with Bisq : to do this, return to SSH in your good old terminal , to go manage the applications and configure Bisq . Open the terminal and enter the commands you know to know:
ssh email@example.com.X.X, your password twice,
Manage Applications >
Enable Bisq Connection
Then go to the usual Credentials section to retrieve the .onion address specific to your full node, by fetching the Bitcoind credentials .
A certain amount of information will then be presented to you, you will only need to retrieve one: the .onion Tor V2 address , without its initial http://. Install and/or start Bisq , then go to the software client settings .
Check “Use Tor for the Bitcoin network” , then select “Use custom Bitcoin Core nodes ” . You can then copy/paste the famous .onion Tor V2 address that you have just recovered, without the introductory http://.
Validate, and you will be prompted to restart the Bisq client . When it restarts, you will be connected to Bisq via your node , and you will only depend on your own copy of the Bitcoin blockchain.
HOW TO CONNECT THE ELECTRUM WALLET TO YOUR FULL NODE UNDER TOR
If we continue to explore the tools offered by your new Bitcoin full node, it is almost impossible to ignore the Electrum wallet . Download and install it from the official site (and not another, because scams are legion!).
Created in 2011, Electrum Wallet is a thin client offering both on-chain and Lightning wallet . In a few clicks and from your computer, you can create or import a wallet , and use it to send and receive bitcoins .
Normally, Electrum is therefore dependent on the network to operate, since it does not store the blockchain locally. It communicates with various external servers and complete nodes which provide it with the information it needs to replenish the balance of your wallets , and to receive and send transactions , and therefore bitcoins . However, it should be noted that Electrum Wallet does all this without necessarily trusting them completely, and by verifying the integrity of the data . So this is where your personal full nodecomes into play: as for the tools we saw previously, you can force Electrum to get the information it needs (and also to only share the information that concerns you) only with a single server : that of your complete node . And to make matters worse, this sharing will be done… under Tor – but you suspected that, didn’t you?
Be careful, do not attempt the manipulation that follows before the end of the download of the Bitcoin blockchain and its compaction , the indexing Electrum Rust Server is the cornerstone of this device… and without this finalized process, you will not be able to do anything productive.
Once you are ready, you will need to retrieve the .onion address of your full node to then use it in the Electrum client. To do this, return to the terminal , SSH connection to the RoninDojo, and run the
Then, access the Electrum configuration file to add the mention
"oneserver": truethat forces the passage through a single server , and specify that this server must be the .onion address that you have just recovered.
There are several ways to do this, depending on the platform you are running Electrum from. Depending on whether you are running Electrum on Windows , Mac or Linux , the path to the configuration file is different : you can find all the ways to access this file on the official Electrum documentation .
In my case, on Mac , I just need to open Finder , find the file in question ~/.electrum , and modify the configuration file , specifying
"oneserver": true, completing the .onion address of my full node to
"server": xxxxxxxxxx.onion:50001:t"(keeping the 50001:t at the end), and specifying that the proxy to use is
"proxy: "socks5:127.0.0.1:9150::". So your Electrum client will only connect with your full node, under Tor , using the proxy offered by your Tor Browser . It will therefore be necessary to open and run the Tor Browser in the background. Save and relaunch Electrum. You can then go to the network overview and see that Electrum only connects to your full node.
To finish checking that everything is working , you can go to the Electrum Console tab (which may need to be activated): you will then see a message stating that you are well connected to your RoninDojo , and the network connection icon will change to a blue light : the Tor one . Congratulation !
EXPLORE THE BITCOIN BLOCKCHAIN WITHOUT DISCLOSING YOUR ADDRESSES AND TRANSACTIONS
Your node also allows you to finally do without well-known websites in the cryptosphere, which, while effective and widely used, are far from flawless. If you’re tired of having to share your addresses and transactions with the Blockstream or Blockchain.com explorer , you’ll find paradise here : your own Bitcoin blockchain explorer , directly from your local instance, and under Tor browser .
ssh firstname.lastname@example.org.X.X, your password twice,
From there, as you know to know, go to
Bitcoind. Retrieve one of the two Tor addresses (V2 or V3) and the associated password from section
Bitcoin RPC Explorer (No username required).
Connect to this address with your Tor browser , enter the password, without specifying a username… and voila!
You can consult all the desired statistics of the Bitcoin network , or scrutinize the bitcoin addresses or transactions that interest you… All this without depending on anyone , and by not sharing with anyone the fact that your IP address consults these addresses or these transactions.
How to use specter wallet to manage your hardware wallets from your dojo
There is one last service that it would be possible to dwell on: the possibility of hosting your own local instance of the Specter Wallet . The Specter Wallet has the advantage of an intuitive interface to allow you to manage your funds stored on a hardware wallet , whether it is classic storage (like most bitcoiners, especially beginners) or a storage using a system composed of several keys and the associated peripherals (known as multisig ).
But we will not devote any particular detail to it for the moment, for an unfortunate reason: the whole point of Specter would be to allow you to go to the end of the process, and to no longer share any information related to your hardware wallets . You could therefore manage your cold storage in a totally sovereign and discreet way … But, there is a big “but” for the moment.
Indeed, if I managed without any problem to deploy the Specter Server on my RoninDojo, it turns out that the Ledgers are not recognized by the instance. This is an issue that is starting to surface with the developers of the project, and will (hopefully) be fixed in the near future . In the meantime, if you have a Ledger, you can dispense with the Specter Server. And if you use for example a Trezor , then I refer you for the moment to the original documentation for the connection instructions, quite similar to all those followed so far.
I will be sure to come and update this guide with full details of these instructions and the use of a Ledger with RoninDojo , as soon as this little problem is resolved .
Ultimately, if the installation and use is clearly aimed at technical bitcoiners and at ease with the computer tool (and does not currently target the plug-and-play ease of use of a Umbrel), is that the tools offered by RoninDojo are both different and less accessible… for now.
With a little elbow grease, however, it now becomes possible for anyone to jump into the deep end and use Bitcoin (and bitcoins) for what they really are: digital cash, uncensorable and progressively less and less traceable, and more and more fungible.
Source : journalducoin ( by Grégory french tutoriel)