Enter the RoninDojo: An open source project by @GuerraMoneta & @BTCxZelko

Samourai Wallet ran a poll asking their followers if they are running their own Dojo as the backend to their Samourai & Whirlpool. It appears that people want to run a Dojo but have found it too difficult. This article is aimed to help those individuals.

In August we ran a poll after Dojo v1.0 launch. Now with v1.3 due to be released we would like to run the same poll. If you are a user please help out by responding and retweeting for exposure.



Question: Are you running Dojo to power your Samourai & Whirlpool with your own node? — Samourai Wallet (@SamouraiWallet) November 22, 2019

If you don’t quite understand why it’s important to run your own node, take a moment to read through Stephan’s article here.



When you download Samourai Wallet and Whirlpool (for mixing), the Bitcoin node that tells you your balance is Samourai Wallet’s server. Samourai Wallet have recognised this isn’t ideal and have encouraged their users to run their own node called a ‘Samourai Dojo’.

As seen in the poll, many have wanted to do this (and rightly so), but have run into difficulties.

Enter the RoninDojo. RoninDojo allows for a simpler way to run a Samourai Dojo on a Raspberry Pi 4 (or an Odroid N2). If you don’t know what these are, they are basically low powered credit card sized computers designed to be switched on all the time.

RoninDojo also features whirlpool-cli and electrs, which I’ll explain further a bit later. But for now, let’s take a look at what you’ll need.

Hardware

You will need the following parts for this project:

1. Raspberry Pi 4 (4GB version)

2. 16GB microSD card

3. At least 1TB external hard disk drive (hdd) or solid state drive (ssd) connected via USB port

4. USB Type-C connector power supply

5. Ethernet cable

6. MicroSD card reader (Note: many laptops and computers come in-built with an SD card reader)



I recommend buying Raspberry Pi 4 kits on eBay which will come with a case and other necessary parts all in the one purchase. The RoninDojo GitHub page has a great list of hardware recommendations to choose from and where you can source them.

Software

Once you have all your hardware, it’s time to ‘flash’ the microSD card and setup the operating system (it uses a Linux distribution called ‘Manjaro minimal’. The instructions and download links are available on the RoninDojo GitHub page here. Use a software called balenaEtcher to do this.

The next step is to run RoninUI, the guide for which is available here. Be sure to follow these steps carefully. Once you’re up and running, feel free to explore around the interface and take a look at all the options. When you’re ready, run the ‘Setup System & Install Dependencies’. When that completes successfully, you’ll be in a position to ‘Install Dojo’. The process will prompt you through some username and password inputs and start synchronising your Dojo.

Expectations

It’s important to set up some expectations around how long things will take. Because you’re doing what’s known as the ‘Initial Block Download’ (IBD) on a RPi4, allow a few days (maybe a week) for this process to complete, depending on your hardware.

Whilst you’re waiting around, it might be worthwhile exploring your Dojo Maintenance Tool (to make sure it works) and getting familiar with your tracker logs to see your progression through the IBD.

Other Features

As of now, RoninDojo comes with two additional features: whirlpool-cli and electrs.



whirlpool-cli (cli stands for command line interface) allows you to remain connected to Samourai’s whirlpool server for ‘free-ride post mixing’. One of the cool things about Samourai Wallet coinjoin mixing is that after you have paid for your coinjoin mix, your bitcoin goes into ‘post-mix’ which can then be used as inputs to more mixing free of charge. You’re able to connect your whirlpool-gui (graphical user interface) to manage your whirlpool-cli and keep free-riding (participating in free coinjoins).

electrs stands for Electrum Rust Server. Installing and enabling this allows you to connect your Electrum Wallet (client) to your Electrum Server. Electrum Wallet is a great because it allows you to use your hardware wallet (such as a Trezor, Ledger or Coldcard) with your own node and comes with advanced features like coin control and multi-signature wallets.

Thoughts

I had a great experience setting up RoninDojo. It’s an easy enough setup process and has been scripted to just work. If you’re having trouble running your own Dojo, this is a great project to try out when you’ve got some spare time. It’s fairly cost effective and gets your Samourai Wallet connected to your own node, running on your own hardware, with your own internet connection, consuming your own electricity. Talk about being your own sovereign bank – this is a seriously powerful tool!

Tutorials

If you need further information:

Video tutorials are available here

The Wiki is available here