So you want to forge, but don’t want to use your daily-driver computer? Don’t want to pay for a VPS? Raspberry Pi to the rescue! Apologies in advance, this is a very long and wordy post. Enjoy! 🙂
Instructions – Part 1 Hardware Setup
You will need to download and copy the Raspbian Stretch Lite Operating System onto the SD Card. This is not a normal “copy file” operation and you will need to follow the official Raspberry Pi instructions here – https://www.raspberrypi.org/documentation/installation/installing-images/README.md. After that is complete, there is one more step required to enable SSH. To do this follow Step 3 “Enable SSH on a headless Raspberry Pi” on this web-page – https://www.raspberrypi.org/documentation/remote-access/ssh/. If you are intent on using direct Ethernet cable connection, plug that in and then you are ready to switch your RPi on. Just plug it into a USB Power Supply via a Micro USB cable and it should turn on automatically.
If you want to use Wi-Fi instead of Ethernet you’ll have to follow the instructions in the top answer here – https://raspberrypi.stackexchange.com/questions/10251/prepare-sd-card-for-wifi-on-headless-pi. Essentially when you make the empty ssh file, you also make a wpa_supplicant.conf file in the same BOOT partition.
After a few seconds you will want to go back to your primary computer and log into your router via your browser. Somewhere on the router dashboard you will find a list of connected clients or DHCP clients. Unfortunately these steps are heavily dependent on your router’s software/firmware. You should find “raspberrypi” somewhere on that list. Take note of the local IP Address in the format XXX.XXX.X.XX. Now we return to a web-page from earlier – https://www.raspberrypi.org/documentation/remote-access/ssh/ – to follow Step 4 “Set up your client”. Depending on the Operating System of your primary computer you will follow the appropriate link.
Instructions – Part 2 Software Setup
Now that you are successfully communicating with your RPi via SSH in a terminal and it is connected to the Internet, you are going to want to update it’s operating system. Do this with the following command:
sudo apt-get update && sudo apt-get upgrade
Next you are going to begin the journey of “hardening” or securing your RPi. This is VERY important. Start with this command:
Select – Change the User Password
This should be a really good password or passphrase. There is much more to be done to harden your RPi but they will not be covered now to save time. Just know that running a secure server is challenging and requires vigilance and maintenance effort. Please take the time to read this to help harden your RPi.
In the Advanced Options section of raspi-config you’re going to want to select Expand Filesystem. Reboot when prompted.
You are now ready to install Java, followed by the Jupiter client. Use these commands:
sudo apt-get install openjdk-8-jdk
Typing the following should confirm that Java has been installed correctly (running it before installing just says “command not found”).
Download the Jupiter software client to the RPi using the Linux version of the latest release version (you will have to check first to update the version number):
Once the download is complete, install the unzip utility:
sudo apt-get install unzip
Unzip the release:
Change your directory to the client directory:
Start the client with the following command and follow the instructions:
To access the wallet and to being forging I use the following technique (Installing the Chromium Web Browser and GNU Screen):
sudo apt-get install chromium-browser screen
Type the following and follow the instructions:
The Jupiter client is running again, but this time it is running within a GNU Screen “session”. Now press Ctrl+A followed by Ctrl+D to detach the terminal from that screen session.
Now exit the ssh session with:
On your local machine, type:
ssh -Y [email protected] chromium-browser
This will launch the chromium web browser on the RPi but display the GUI on your primary computer. This will be very slow to refresh.
Visit the following address (localhost) in the chromium address bar:
You should be greeted with the Jupiter wallet running locally on your RPi. From here you can enter your passphrase and forging will start automatically (if you have a balance of >= 1,000 Jupiter).
If you wish you can click the power button on the top right of the wallet and select “Logout” and then you can safely close the browser window and forging will continue (or your could click “Logout and Stop Forging” if that’s what you want to do). In any case, you can exit the ssh session because the Jupiter client will still be running.
There is a lot more that you could do to improve this, but this is a basic setup of a Raspberry Pi Jupiter Forging Server. I used instructions found here for reference.