How to Build Hydra on Raspbian

Hydra is capable to run on small devices, it requires quite few CPU power, memory and storage to mine coins. But the binaries released by Hydra official are not suitable for Raspberry Pi Zero or First Generations. Here is a tutorial on how to build Hydra on a raspi. In this tutorial, we assume that you are using a raspbian system.

System Requirements

Generally, a raspi is capable to build Hydra, but we need:

  • an SD card with at least 8G space and at least 6G available;

  • Internet connection is also required.

Memory Requirements

Hydra requires quite few memory to run. However it is not true for building Hydra. It requires over 1.5G memory to build, which is much more than a raspi has. So we have to set the swap space to 2G:

sudo sed -ri 's/CONF_SWAPSIZE=[0-9]+/CONF_SWAPSIZE=2048/' /etc/dphys-swapfile
sudo systemctl restart dphys-swapfile

Build Process

Install Dependencies

We cat install building tools and most dependencies with apt:

# install dependencies
sudo apt-get install git autoconf libtool libboost-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev libboost-chrono-dev libboost-random-dev libssl-dev libevent-dev libboost-test-dev

If you need the Qt GUI, additionally run:

sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler qrencode

Prepare Building Folder

mkdir build_Hydra
cd build_Hydra

Build Berkeley DB Dependency

Unfortunately we can't install Berkeley DB 4.8 dependency on a raspbian via apt, so we need to build it ourselves:

# to build berkeley db 4.8
tar -xzf db-4.8.30.tar.gz
pushd db-4.8.30/build_unix
../dist/configure --prefix=/usr/local --enable-cxx
make # this would take around 50 minutes on a raspi 0 W
sudo make install

Build Hydra

First we have to get the source:

git clone --recursive HYDRA

Then we should switch to a stable release tag, for now the latest release for Hydra is mainnet-ignition-v0.17.5, but you should always build a latest one.

git checkout mainnet-ignition-v0.17.5

Then init submodules:

git submodule update --init --recursive

Finally the most common way to build and install a software:

sudo make install

It is highly recommended that you run the make step inside a virtual console like screen or tmux because the step takes more than 20 HOURS. By using a virtual console, you don't need to keep the ssh session during its building. To do this, run these commands before make:

sudo apt-get install screen
screen -S build

And when you started making, you may leave the screen by pressing Ctrl + A then D, and you may go back to it with this command:

screen -R

Boom! Now you have Hydra installed on your raspi!