Running your own personal Monero node provides many benefits over using a public node. Not only will you be helping to improve the decentralisation, stability & efficiency of the network, but you will also be removing layers of trust by broadcasting your own transactions. Minimising trust & increasing privacy are the primary reasons for operating a node.
Single board computers are great for running an XMR node since they provide a simple, reliable, “set & forget” solution instead of leaving your laptop or desktop computer running 24/7.
With the recent release of the RoninDojo Bokuto, I thought this would be the perfect device for running a Monero node. The RockPro64’s integrated PCIe x4 slot & NVMe SSD provide a tidy & efficient alternative to using ugly, external, USB-connected hard drives.
The default Bokuto hardware includes everything you need. Due to the smaller footprint of the Monero blockchain, you can use a smaller NVMe than the one supplied; however, it’s great to have that extra space for future growth.
You also have the option to use an eMMC module instead of the supplied MicroSD, as the Rockpro64 does have this capability. I also chose to add a heatsink to my NVMe drive for improved cooling. Whilst tests have shown that this is not necessarily required, I figured it couldn’t hurt.
Thanks to the brilliant work of the open-source, PiNodeXMR project, setting up a reliable XMR node has never been easier. PiNodeXMR is the software you will be using to run your BokutoXMR.
As usual, BlackCoffeBTC from Anchor Hodl came through for me & turned my idea for a Monero-themed Bokuto enclosure into reality. Within a matter of hours, the BokutoXMR case was born.
BlackCoffee now has these beautifully printed, Monero-themed Bokuto cases listed for sale right now at anchorhodl.com.
Let’s get started.
The first step is to flash your MicroSD or eMMC card with the PinodeXMR image. Head over to PinodeXMR’s downloads page & scroll down to the Rockpro64 Image. Download the image & flash it to your chosen media using Balena Etcher. A 32GB MicroSD is included with the Bokuto; however, 16GB would also suffice.
Once the writing is complete, insert the MicroSD, or eMMC, into your Bokuto, attach the ethernet cable, & finally, connect the power lead. Once the Bokuto powers up, leave it to sit for around 5 minutes whilst the installation automatically takes place in the background.
After a few seconds, the fan will begin to spin & will remain on until we initialise the fan script later, ensuring that the CPU is adequately cooled throughout the installation.
Next, we need to find your Bokuto’s local IP address. You can use tools like Angry IP Scanner to search your network; however, I prefer logging into my router’s admin page instead so I can permanently bind the IP to my Bokuto as a static address.
Once you have your IP address, open a web browser and type it into the address field. If using HTTPS, you may see a “site not secure” warning notice; just hit“‘continue to site“, & the browser will present you with the PiNodeXMR dashboard. Create a bookmark for easy access later.
Above the PiNodeXMR logo, you will now see a button labelled “Web Terminal” this is a built-in SSH client for your node; however, you could also SSH in using your favourite external software. I prefer to use the Linux Terminal using the following command, edited with your device’s IP address.
Your default login credentials will be:-
- USERNAME: pinodexmr
- PASSWORD: PiNodeXMR
After a few seconds, the PiNodeXMR settings menu will appear. The most crucial step before anything else is to change the SSH password from its default for security purposes.
Scroll down to “System Settings” using the arrow keys, then select “Master Login Password Set” on the following screen.
Follow the prompts until you are asked to enter a new password, then, ensuring you don’t use any special characters, type it in twice. Your master password will now update & you’ll be returned to the menu. This password is now required for all future SSH access.
Now we need to select your NVMe drive as the storage location for the block data. From the menu, select “System Settings“, & from there, select “USB Storage Setup“. Your NVMe should already be attached, so choose “Yes” to continue. You will now see a list of available drives, scroll down and select “nvme0n1“.
On the following screen, select “Yes” to format & prepare the drive for blockchain storage. Ensure that you instruct the helper to format the drive using the “EXT4” filesystem when prompted. Once complete, the NVMe will be mounted & ready for block download.
Next, we want to ensure that PiNodeXMR & all dependencies are updated to their latest versions. From the main menu, select “Update Tools” & check that “System Packages & dependencies“, “PiNodeXMR“, & “Blockchain Explorer” are all up to date.
Once these three updates are complete, you can enable the fan script. The “Active Thermal Fan” script will activate the fan only when required, adjusting speed based on device temperature. You can read more about the ATS fan script on Github.
From the main menu, select “System Settings” & then “PWM Fan control Tool“. ATS will install & after a few seconds; you will notice that the fan slows down or stops entirely. The temperature-controlled PWM fan service is now active. You can double-check the status of ATS by running the following command:
sudo systemctl status ats
Next, you need to configure your RPC credentials for wallet connections. Select “System Settings” from the main menu, then “Monero RPC Username and Password setup“. You will be prompted to enter the RPC username & password of your choice. Don’t use any special characters & keep these credentials safely backed up.
Now let’s add password protection to your PiNode web interface dashboard. Select “Extra Network Tools” from the main menu, then “Web Interface Password“. On the following menu, select “Set Web Interface Password” & enter a unique, secure password, avoiding the use of special characters once again.
Once the password is registered, return to this same menu & select “Enable Web Interface Password“. Once enabled, the username “pinodexmr” & your new password will be required whenever accessing the web interface.
Before exiting settings, return to the main menu & select “Extra Network Tools“, then select “Install Tor“. This installs a Tor daemon & provides your node with a unique onion address for making anonymous connections to the network.
You can return to your web interface using your local IP address or pinodexmr.local. Log in when prompted & select “Node Control” from the top menu. From this screen, you can start Monderod and begin synchronising block data.
Scroll down to where it says “Anonymity Networks” & select either the Private or Public node option, depending on which you intend to run. Once an option is selected, the tab will expand, displaying your node’s personal Tor address & the buttons required to start & stop Monerod.
You do not need to open any ports with a Tor connection manually, so you can now hit “Start Monerod” to begin synchronisation. At this point, I would advise clearing your browser’s cache, closing it down & taking a break for a while. The Sync will typically take 24-48 hours, depending on the quality of your connection.
If you wish to operate a private node for your use only, clearnet connections are also acceptable & will provide a much smoother, more efficient wallet experience. Monero’s Dandelion++ provides great transactional, network-level privacy by default, so Tor is not necessarily required unless you have specific reasons.
Note, however, that using clearnet will require you to forward TCP port 18081 for remote RPC connections. You could also choose to forward TCP port 18080 (P2P) to help others sync their nodes & strengthen the network. I recommend configuring a VPN for clearnet connections, either at the router level or using the included PiVPN plugin, available to install under “Extra Network Tools“.
For remote clearnet connections, it’s also worth creating a free dynamic DNS hostname on noip.com. You can install the noip package under “Extra Network Tools” in the SSH settings menu. The installer will ask for your noip login credentials & will provide a reliable static hostname for uninterrupted remote connections.
The advantage of Tor connections is that you don’t have to worry about dynamic DNS or port forwarding. Your static onion address will provide a reliable, remote connection, regardless of your network environment. The tradeoff is that Tor is far less efficient & has seen a lot of instability. You must also use a “torified” wallet or an Orbot VPN on the remote device.
Which you choose is a personal decision; however, if you plan to make the node public, I recommend using a Tor connection. If you decide to use a clearnet connection, follow the same steps as above but start Monerod under the “Clearnet Networks” heading.
Once block download is complete, check if an update to Monero is available. If you see “Update Available: true” on your status dashboard, then Monero needs to be updated before doing anything else.
Select “Web Terminal” from the dashboard menu or SSH back in with your preferred software & select “Update Tools“. Select the first option, “Update Monero“. This is a significant update & will take a couple of hours to complete.
Before the update begins, you’re asked whether or not your device has 2GB of memory available. The system can artificially create more memory using a swap file, but since your Bokuto has 4GB of LDDR4 memory, you can safely select ‘Yes‘ from the menu to continue.
Now that Monero is up to date, you can connect your chosen wallet. My favourite wallet is Monerujo which I highly recommend. Once you have configured a wallet, you can add your node using the RPC username & password you created earlier & either your Tor onion address or your noip hostname, depending on which method you used. Your wallet should immediately begin to synchronise data from your node.
You now also have access to your own personal Monero Explorer. Select “Block Explorer” from the dashboard menu, then press the “Start Explorer” button. After a few seconds, you can press the “Block Explorer” button below & PinodeXMR will direct you to your own personal Monero Explorer.
Many other valuable tools are built into PiNodeXMR, including P2Pool Mining, Monero-LWS & even I2P. There’s far too much to detail here, but if you followed the guide, you should have a perfectly functioning Monero node running on the powerful RoninDojo Bokuto hardware.