This tutorial has been updated. The updated tutorial can be found here: [Reddcoin] Updated: Staking with Reddcoin Core client GUI wallet on a Raspberry Pi Model 3B.
This tutorials has also been posted on Reddit, in /r/Reddcoin.
Writing a tutorial like this takes time and effort; tips are appreciated.
My Reddcoin address: RsuwV6GP72Mr2aoha9SQSB6KJGAkS1jMbb.
Contents
Intro
I want to stake Reddcoins on my Raspberry Pi, but there is no easy to install package for the Reddcoin Core client. I found some tutorials (mentioned at the bottom, under ‘credits’), but I still struggled to get the result I wanted. It took some small adjustments, but I got the GUI Wallet of Reddcoin Core working on my Raspberry Pi Model 3B. See the steps below. :).
Even though Raspbian is the primary OS for the Raspberry Pi, it seems that it’s not possible to build and compile the Reddcoin wallet software for Raspbian Stretch. However, I got the wallet compiled using Ubuntu MATE.
Overview
- Hardware: Raspberry Pi 3 Model B
- OS: Ubuntu MATE 16.04.2 (Xenial)
- Space needed: I would recommend at least 32 GB. I am using an 8 GB SD card for the OS, and a 128 GB USB drive for data.
- Reddcoin Core client version: v2.0.0.0-92768f9-beta.
↳ Screenshot
Steps
- You need the OS; Ubuntu MATE. Download Ubuntu MATE for the Raspberry Pi: https://ubuntu-mate.org/raspberry-pi/.
- You need software to write the OS to the SD card or USB drive. I used Etcher. Download Etcher: https://etcher.io/.
- Run Etcher.
- Select the
ubuntu-mate-...-desktop-armhf-raspberry-pi.img.xz
file. - Select your SD card.
- Flash.
- Plug the SD card into your Raspberry Pi and power it up.
- Ubuntu MATE should boot up.
- Set up Ubuntu MATE.
- Connect to the internet (wired or wireless).
- Open MATE Terminal ([Menu] Applications > System Tools > MATE Terminal).
↳ Screenshot
- Install the necessary software; enter the following commands into terminal:
sudo apt-get update && sudo apt-get install git build-essential libqt4-dev libprotobuf-dev protobuf-compiler libtool autotools-dev autoconf libssl-dev libboost-all-dev wget pkg-config
↳ Screenshotsudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install db4.8
sudo apt-get install libminiupnpc-dev
sudo apt-get install libqrencode-dev
sudo reboot
- The Reddcoin wallet can be memory intensive. To prevent any crashes
or freezes, add 1 GB of ‘virtual’ memory by creating a swap file. After
your Raspberry Pi has rebooted, open MATE Terminal again and enter the
following commands:
sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
- To make sure the swap file persistent (so it survives a reboot), you have to add a line to the
/etc/fstab
file.
- In MATE Terminal, enter the following command to open the file in Pluma (text editor):
sudo pluma /etc/fstab
- In Pluma, create a new line, add this text:
/swapfile none swap sw 0 0
↳ Screenshot
(You should add spaces to vertically align the lines.) - Save and close the file.
- Back to MATE Terminal; reboot your Pi:
sudo reboot
- To see if the swap file is used after a reboot, run:
sudo cat /proc/swaps
↳ Screenshot
- In MATE Terminal, enter the following command to open the file in Pluma (text editor):
- After the reboot, open MATE Terminal again. Download, unpack, configure, build and install Berkeley DB:
sudo wget http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz
sudo tar xfvz db-4.8.30.NC.tar.gz
cd db-4.8.30.NC
cd build_unix
sudo ../dist/configure --enable-cxx
sudo make
sudo make install
- Set BerkeleyDB variables (in MATE Terminal):
export CPATH="/usr/local/BerkeleyDB.4.8/include"
export LIBRARY_PATH="/usr/local/BerkeleyDB.4.8/lib"
sudo pluma /etc/ld.so.conf.d/daemon-libs.conf
- Add this line in Pluma:
/usr/local/BerkeleyDB.4.8/lib/
↳ Screenshot - Save and close the file.
- Back in MATE Terminal:
sudo ldconfig
- Download the source of the Reddcoin wallet and build it:
cd
git clone https://github.com/joroob/reddcoin
cd reddcoin
sudo ./autogen.sh
sudo ./configure --disable-tests
sudo make
↳ Screenshot
(this will take some time; with me it took just over 1 hour)sudo make install
- Speed up synchronizing with the Reddcoin blockchain by bootstrapping.
cd
(to make sure your working directory is your home directory)- Download the bootstrap file (1.45 GB):
sudo wget https://github.com/reddcoin-project/reddcoin/releases/download/v2.0.0.0/bootstrap.dat.xz
- Unpack the file:
xz -d bootstrap.dat.xz
- After a successful unpack, your will find the file ”bootstrap.dat” in your home folder.
↳ Screenshot
- On the first run of the Reddcoin Core client, it will ask for a data directory to store the blockchain and wallet data.
- Start the Reddcoin Core client:
sudo $HOME/reddcoin/src/qt/reddcoin-qt
- The welcome screen will appear and ask you about the data directory. I suggest a new directory in your home directory, I picked ‘blockchain’. The directory will be created with all the necessary files.
↳ Screenshot - After selecting the directory, the Reddcoin Core client will start. Wait till it’s fully loaded and close it.
- Start the Reddcoin Core client:
- Use the file manager (Caja) to browse to your home directory and
move the ”bootstrap.dat” file to your data directory you selected in
the previous step. Your home directory is the first item in the File
Manager in the left menu.
- The Reddit Core client set up is completed, but you still have to sync fully with the blockchain before you can send, receive and stake.
- Launch the Reddcoin Core client again:
sudo $HOME/reddcoin/src/qt/reddcoin-qt
- Keep the client running until it’s fully synchronized. This can take some time (it took 2 days for me).
- You can see the progress in the debug window (Help > Debug window).
↳ Screenshot- When the synchronization is completed, the red (out of sync) will disappear on the Overview screen!
- Launch the Reddcoin Core client again:
- You can now stake your Reddcoins.
- To stake, you need to encrypt your wallet: Settings > Encrypt… Do not forget your password!
↳ Screenshot 1
↳ Screenshot 2
↳ Screenshot 3- Your wallet will be encrypted, and the Reddcoin Core client will be closed. Launch the Reddcore Client again.
↳ Screenshot 4
- Your wallet will be encrypted, and the Reddcoin Core client will be closed. Launch the Reddcore Client again.
- To stake, you need to encrypt your wallet: Settings > Encrypt… Do not forget your password!
- To stake, you need to unlock your wallet (by entering your password): Settings > Unlock Wallet…
- Make sure “For staking only” is checked before clicking OK.
↳ Screenshot
- Make sure “For staking only” is checked before clicking OK.
- You can only stake with Reddcoins that have matured: coins have to be at least 8 hours in your wallet to mature.
- The grey arrow at the bottom should be green when staking. Hover over that icon to see the progress of staking.
↳ Screenshot
Extra
Backup your wallet
- File > Backup wallet…
↳ Screenshot
Start Reddit on system login
- Settings > Options
↳ Screenshot
> This works when using only an SD card.
> I can’t get this to work when using SD card (for OS) and a USB (for data/blockchain).
Adjust minimization options
- Adjust minimization options, so you can safely press on the red X (close/exit button).
↳ Screenshot
Installing Chromium
- The default browser, Firefox, stops working and crashes after updating Ubuntu MATE. My solution is installing another browser: Chromium. To install Chromium, enter the following in MATE Terminal:
sudo apt-get install chromium-browser
↳ Screenshot
You can then access Chromium via [Menu] Applications > Internet.
↳ Screenshot
Remote access with VNC
- To remote connect to the Raspberry Pi, I use VNC Connect from RealVNC.
- Download VNC Connect from their website: https://www.realvnc.com/en/connect/download/vnc/raspberrypi/.
- Double click to install the software.
- To run the it once:
vncserver-x11
- To auto run on startup, add RealVNC to Startup Applications: [Menu] System > Control Centre > Personal > Startup Applications.
↳ Screenshot- In Startup Applications Preferences, click on Add to a new entry.
- Give it a ‘name’ and ‘comment’ (optional) as you like, and put this in ‘command’:
vncserver-x11
↳ Screenshot - Reboot your Raspberry Pi and check if VNC Connect is started automatically after the reboot.
Credits
- My main source: damsal01 on reddcointalk.org.
His RDD address for donation: Rqd8xDv6oV9BYFaVrLdkWcR5JU6sPPZTKs. - hieplenet on reddit.com.
His RDD address for donation: RaF3TeWqgTzAdnaZQffnsxS74dag13zsAY. - joroob on Github.com. He made some adjustments to the reddcoin wallet source code so it will compile on ARM cpus.
His RDD address for donation: Rb8754QZvpbw6DjrMV1qX9SnHzYnSyXRMC.