I write educational content about Bitcoin.
Use Bitcoin with privacy.

Table of Contents:
- What is RoninDojo?
- Which hardware to choose for installing RoninDojo v2?
- How to assemble the Raspberry Pi 4?
- How to install RoninDojo v2 on a Raspberry Pi 4?
- How to use your RoninDojo v2 node?
What is RoninDojo?
What hardware to choose for installing RoninDojo v2?
- A case equipped with a fan to house your Raspberry Pi and your storage expansion card. Kits including both the SSD expansion card and a compatible case are available online;
- A power cable for your Raspberry Pi;
- A micro SD card of at least 16 GB (although 8 GB could technically suffice, the price difference between 8 and 16 GB cards is often negligible);
- An RJ45 Ethernet cable for network connection.
How to assemble the Raspberry Pi 4?
How to install RoninDojo v2 on a Raspberry Pi 4?
Step 1: Prepare the bootable micro SD
- For Ubuntu/Debian: https://downloads.raspberrypi.org/imager/imager_latest_amd64.deb
- For Windows: https://downloads.raspberrypi.org/imager/imager_latest.exe
- For Mac: https://downloads.raspberrypi.org/imager/imager_latest.dmg
CHOOSE OS:Raspberry Pi OS (other) menu:Raspberry Pi OS (Legacy, 64-bit) Lite, which is 0.3 GB in size:CHOOSE STORAGE:NEXT:EDIT CONFIGURATION:GENERAL tab and make the following settings (which are very important for it to work):- Enable the option and assign
RoninDojoas the hostname; - Enable
Set username and password, enterpias the username, choose a password, and note this information, as it will be needed later. These credentials are temporary and will be deleted afterward; - Disable
Configure Wi-Fi; - Enable
Set locale settingsand select your time zone as well as the keyboard type corresponding to your computer;
Enable SSH box and select Use a password for authentication:OPTIONS tab, telemetry is disabled:SAVE:YES to start creating the bootable micro SD card:
YES to start the process:Step 2: Complete the Node Assembly
Step 3: Establish an SSH Connection with the Node
192.168.1.??. For all the following commands, replace [IP] with the actual IP address of your node, (removing the brackets).ssh-keygen -R [IP].192.168.1.40, the command becomes: ssh-keygen -R 192.168.1.40.ssh pi@[IP].
A message will appear regarding the host's authenticity: The authenticity of host '[IP]' can't be established. This indicates that the authenticity of the device you are trying to connect to cannot be verified due to a lack of a known public key. When connecting via SSH to a new host for the first time, this message will always appear. You must respond yes to add its public key to your local directory, which will prevent this warning message from appearing during future SSH connections to this node. Therefore, type yes and press enter to validate.
You will then be asked to enter your password, the one previously set as temporary in step 1. Validate with enter. You will then be connected to your node via SSH.ssh-keygen -R [IP]ssh pi@[IP]yes- Enter the temporary password and validate.
Step 4: Update and Preparation
pi@RoninDojo:~ $. To start, update the list of available packages and install updates for existing packages with the following command:
sudo apt update && sudo apt upgrade -ysudo apt install git dialog -ymaster branch of the RoninOS Git repository by executing:
sudo git clone --branch master https://code.samourai.io/ronindojo/RoninOS.git /opt/RoninOScustomize-image.sh with the command:
cd /opt/RoninOS/ && sudo ./customize-image.shSetup is complete appears, you can move on to the next step.Step 5: Launching RoninOS
sudo systemctl start ronin-setuptail -f /home/ronindojo/.logs/setup.logsAll RoninDojo feature installations complete! appears, you can proceed to step 6.Step 6: Accessing RoninUI and Changing Credentials
- Directly the IP address of your node, for example,
192.168.1.??; - Or, type
ronindojo.local.
Let's start button.root password. It is essential to keep it safe. You can opt for a physical backup, on paper, or save it in a password manager.root password, check the box I have backed up Root user credentials and click on Continue to proceed.Finish to validate. As for the username, it is recommended to keep the default choice, ronindojo. If you decide to change it, remember to adjust the commands in the following steps accordingly.Step 7: Remove Temporary Credentials
SSH ronindojo@[IP]192.168.1.40, the appropriate command will be:
SSH [email protected]ronindojo) with another, make sure to use this new name in the command. For example, if you chose planb as the username and the IP address is 192.168.1.40, the command to enter will be:
SSH [email protected]
You will be asked to enter the user password. Enter it and then press enter to validate. You will then access the RoninCLI interface. Use the arrow keys on your keyboard to navigate to the Exit RoninDojo option and press enter to select it.
ronindojo@RoninDojo:~ $. To remove the temporary user created during the configuration of the bootable micro SD card, enter the following command and press enter:
sudo deluser --remove-home pienter. Wait for the operation to complete, then use the exit command to leave the terminal.Step 8: "veth fix"
SSH ronindojo@[IP]192.168.1.40, the appropriate command would be:
SSH [email protected]enter to validate. You will then access the RoninCLI interface. Use your keyboard's arrows to navigate to the Exit RoninDojo option and press enter to select it.ronindojo@RoninDojo:~ $. To apply the veth fix, type the following command and press enter:
sudo nano /etc/dhcpcd.confenter.dhcpcd.conf file. You need to copy the following text, ensuring to include the asterisk, and add it to the bottom of the file:
denyinterfaces veth*ctrl X to start exiting, followed by ctrl Y to confirm saving the changes, and press enter to finalize and return to the command prompt. To ensure that the modification has been correctly applied, reopen the dhcpcd.conf file using the appropriate command.sudo reboot nowHow to use your RoninDojo v2 node?
Connecting your wallet software to Electrs
Applications > Manage Applications > Install Electrum Server.Pairing > Electrum server > Pair now
You will then need to enter the Hostname address ending in .onion in your wallet software, accompanied by port 50001.
For example, on Sparrow Wallet, simply go to the tab:
File > Preferences > Server > Private ElectrumConnecting your wallet software to Samourai Dojo
Pairing > Samourai Dojo > Pair now
To link your Samourai Wallet to your Dojo, simply scan this QR code during the app installation:Settings > Troubleshoot > Passphrase. It is also important to have a readable backup of your recovery phrase and your passphrase. For more precision in this operation, it is recommended to follow this detailed tutorial: https://wiki.ronindojo.io/en/setup/v2_0_0-upgrade/reconnectsamourai.Using your own Mempool.space block explorer
Dashboard tab and click on Manage below Mempool Space:
Dashboard > Mempool Space > Manage
Then click on the Install Mempool visualizer button:
Confirm your user password:
Wait for the installation to complete, then click again on the Manage button:
You will obtain a .onion link to access your own instance of Mempool.space via the Tor network.
I advise you to save this link in your favorites on the Tor browser or add it to the Tor Browser app on your smartphone for easy and secure access from anywhere. If you do not yet have the Tor browser, you can download it here: https://www.torproject.org/download/
Using Whirlpool to mix your bitcoins
Using Whirlpool Stat Tool (WST)
SSH ronindojo@[IP]192.168.1.40, the appropriate command would be:
SSH [email protected]ronindojo) with another, make sure to use this new name in the command. For example, if you chose planb as your username and the IP address is 192.168.1.40, the command to enter would be:
SSH [email protected]enter to validate. You will then access the RoninCLI interface. Use the arrow keys on your keyboard to navigate to the Samourai Toolkit menu and press enter to select it:Whirlpool Stat Tool:wst#/tmp>quitsocks5 127.0.0.1:9050download 0001
Replace 0001 with the denomination code of the pool you are interested in. The denomination codes are as follows on WST:- Pool 0.5 bitcoins:
05 - Pool 0.05 bitcoins:
005 - Pool 0.01 bitcoins:
001 - Pool 0.001 bitcoins:
0001
0001 with your pool's code in this command: load 0001score followed by your TXID (without the brackets):
score [TXID]Using the Boltzmann Calculator
nb combinations in the tool. Based on the values of the UTXOs involved, this indicator quantifies the number of ways in which inputs can be associated with outputs. In other words, it determines the number of plausible interpretations a transaction can generate. For example, a coinjoin structured according to the Whirlpool 5x5 model presents 1496 possible combinations:
Credit: KYCPEntropy. When a transaction has a high number of possible combinations, it is often more relevant to refer to its entropy. This is defined as the binary logarithm of the number of possible combinations. Here is the formula used:- $E$: the entropy of the transaction;
- $C$: the number of possible combinations for the transaction.
1496:
(inp 0) > (Outp 0 ; Outp 1). Consequently, its entropy is established at 0:
Wallet Efficiency. This indicator assesses the efficiency of the transaction by comparing it to the optimal transaction conceivable in an identical setup. This leads us to discuss the concept of maximum entropy, which corresponds to the highest entropy a specific transaction structure can theoretically achieve. Thus, for a Whirlpool 5x5 coinjoin structure, the maximum entropy is set at 10.5469. The transaction's efficiency is then calculated by confronting this maximum entropy with the actual entropy of the analyzed transaction. The formula used is as follows:- $ER$: the actual entropy of the transaction, expressed in bits;
- $EM$: the maximum possible entropy for a given transaction structure, also in bits;
- $Ef$: the efficiency of the transaction, in bits.
- $CR$: the number of actual possible combinations;
- $CM$: the maximum number of possible combinations with the same structure;
- $Ef$: the efficiency expressed as a percentage.
100% thus indicates that the transaction maximizes its potential for privacy based on its structure.Entropy Density, offers a perspective on the entropy relative to each input or output of the transaction. This indicator proves useful for evaluating and comparing the efficiency of transactions of different sizes. To calculate it, simply divide the total entropy of the transaction by the total number of inputs and outputs involved. Taking the example of a Whirlpool 5x5 coinjoin:- $ED$: the entropy density expressed in bits;
- $E$: the entropy of the transaction expressed in bits;
- $T$: the total number of inputs and outputs in the transaction.
The fifth piece of information delivered by the Boltzmann Calculator is the table of matching probabilities between inputs and outputs. This table indicates, through the Boltzmann score, the probability that a specific input is connected to a given output. Taking the example of a Whirlpool coinjoin, the probability table would highlight the chances of linkage between each input and output, providing a quantitative measure of the ambiguity or predictability of associations in the transaction:
| % | Output 0 | Output 1 | Output 2 | Output 3 | Output 4 |
| Input 0 | 34% | 34% | 34% | 34% | 34% |
| Input 1 | 34% | 34% | 34% | 34% | 34% |
| Input 2 | 34% | 34% | 34% | 34% | 34% |
| Input 3 | 34% | 34% | 34% | 34% | 34% |
| Input 4 | 34% | 34% | 34% | 34% | 34% |
| % | Output 0 | Output 1 |
| Input 0 | 100% | 100% |
SSH ronindojo@[IP]192.168.1.40, the appropriate command would be:
SSH [email protected]ronindojo) with another, make sure to use this new name in the command. For example, if you chose planb as your username and the IP address is 192.168.1.40, the command to enter would be:
SSH [email protected]enter to validate. You will then access the RoninCLI interface. Use the arrows on your keyboard to navigate to the Samourai Toolkit menu and press enter to select it:Boltzmann Calculator:enter key:Other features of your RoninDojo v2
xpub using the xpub tool. To access this tool via RoninUI, follow the path:
Maintenance > XPUB Toolxpub that is causing the problem and click on the Check button to verify this information:
Ensure that all transactions are properly listed. It is also important to verify that the derivation type used matches that of your wallet. If this is not the case, click on Retype, then choose from BIP44, BIP49, or BIP84 according to your needs.
Beyond this tool, the Maintenance tab of RoninUI is full of other useful features:- Transaction Tool: Allows examining the details of a given transaction;
- Address Tool: Allows confirming the tracking of a given address by your Dojo;
- Rescan Blocks: Forces your node to perform a new scan of a specified block range.
Push Tx tab is another interesting feature of RoninUI, which enables the broadcasting of a signed transaction on the Bitcoin network. The transaction must be entered in hexadecimal form.Apps: Hosts the Whirlpool application, and will surely be used to integrate new applications in the future;Logs: Offers real-time access to the event logs of your software;System Info: Provides general information about your node, such as CPU temperature, storage space usage, or RAM data. You will also find theRebootandShut downoptions to restart or turn off your node;Settings: Allows you to change your user password.
Author
This tutorial has been written by Loïc Morel
You can say thanks by tipping the professor.
Credits
This tutorial has been proofread by Asi0Flammeus
Even if this content is in its original language, human review is necessary to ensure its accuracy.
Asi0Flammeus4 336 sats2 168 satsEvery content on the platform is the result of a collaborative effort: each lesson, translation, and revision is made possible by the work of contributors. For this reason, we are always looking for proofreaders who can review our content in many languages. If you want to participate in the proofreading process, please reach out in our Telegram group and read our tutorial. We remind you that this content is open-source - licensed under CC BY-SA - so it can be freely shared and used, as long as the original source is credited.

