[Reddcoin] Staking with Reddcoin Core client GUI wallet on a Raspberry Pi Model 3B

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 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
      Screenshot
    • sudo 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
  • 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.
  • 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!
  • 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
  • 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
  • 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

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.

Leave a Comment