Guide for Linux

Getting Hydra up and running on your Linux system

Step 1.

Setup for Ubuntu 20.04 and Aarch64

Since Bitcoin PPA repository does not have a Release for Focal Fossa yet, we will need to do a few extra things.

First, make the command to update your system:

sudo apt update

And now let’s upgrade if you have packages to be upgraded:

sudo apt upgrade -y

Now let’s install the required packages.

sudo apt install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils git cmake libboost-all-dev libgmp3-dev libzmq3-dev

Now:

sudo apt install software-properties-common

Let’s compile! First let’s make a folder to compile the leveldb.

First let’s return to our home folder:

cd ~

Now create a new folder:

mkdir dev

Enter to the folder and get the source of leveldb:

cd dev
wget -N http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz

Now we’ll decompress:

tar -xvf db-4.8.30.NC.tar.gz

If you try to compile now you’ll get an error. Let’s bypass the bug:

sed -i s/__atomic_compare_exchange/__atomic_compare_exchange_db/g db-4.8.30.NC/dbinc/atomic.h

Now let’s enter to the folder, create a build folder, and configure everything to compile:

cd db-4.8.30.NC/build_unix
mkdir -p build
BDB_PREFIX=/usr/local
../dist/configure --enable-cxx --prefix=$BDB_PREFIX

After these commands lets make and install the leveldb 4.8:

make
sudo make install

Download these final packages

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

You’re now ready to continue to STEP 2 below.

Ubuntu 18.04 and below

Before starting ensure that your system is up to date and has all required packages by executing:

sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils git cmake libboost-all-dev libgmp3-dev
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt upgrade
sudo apt-get install libdb4.8-dev libdb4.8++-dev
sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler qrencode

For configuring the most recent Ubuntu and CentOS environments to run the wallet see the Hydra Chain github repository (check README.dm) here:

https://github.com/Hydra-Chain/node

Step 2 - Download

Create a directory called Hydra:

mkdir ~/Hydra
cd ~/Hydra

Now find the release zip file corresponding to your OS on github. Here is the link to the repository:

https://github.com/Hydra-Chain/node/releases

Make sure to use the latest release. Currently the latest relese files are in this folder:

https://github.com/Hydra-Chain/node/releases/tag/hydra_v0.20.16

Download the corresponding file in the newly created directory ~/Hydra

Step 3 - Unzip

Unzip the Hydra build. It will unzip to ~/Hydra/bin/

Your zip file may be named differently, depending on the required OS version

unzip -o hydra-0.20.16-ubuntu20.04-x86_64-gnu.zip

Step 4 - Run

The Hydra binaries will then be in ~/Hydra/bin/ where you can cd into with

cd ~/Hydra/bin/

Either run the command-line Hydra daemon (omit '-testnet' if you want to connect to mainnet):

./hydrad -daemon -testnet

and call the Hydra daemon using (omit '-testnet' if you are connected to mainnet):

./hydra-cli -testnet getinfo

Or you can run the Hydra GUI (omit '-testnet' if you want to connect to mainnet):

./hydra-qt -testnet

Getting information through the cli

Retrieve general wallet information such as coin,token balance and expected staking time

You can view your Coin balance and amount currently staked as well as other general information about your wallet with the following command:

./hydra-cli getwalletinfo

Retrieving your LOC token balance through the cli:

To see our wallets token balance, first we'll need to find out the HEX equivalent of our address. We can do this through the cli with this command:

./hydra-cli gethexaddress <YOURADDRESS>

We can then call the contract with the "getbalance" identifier appended, which is 70a08231 and replacing the last part with your own hex address here:

./hydra-cli callcontract 4ab26aaa1803daa638910d71075c06386e391147 70a08231000000000000000000000000<YOURHEXADDRESS> | grep -e "output"

Finally convert the "output" section of the response from hex to decimal to arrive at your LOC balance.

echo $((0x<YOUROUTPUT>))

Below is a full example:

Keep in mind to adjust for 8 decimal places. Balance above is 64,172.22773141

Time until expected block creation

To see expected time enter the following command:

./hydra-cli getstakinginfo

Note below the section "expectedtime".

The "expectedtime" can be converted to human readable format using the following command (replace 351955with your expectedtime value:

secs=351955 && echo $(($secs/86400))d $(($(($secs - $secs/86400*86400))/3600))h:$(($(($secs - $secs/86400*86400))%3600/60))m

Linux Firewall settings

The node runs on port TCP 13333 for the Hydra testnet and port TCP 3338 for the mainnet. You may need to open the port on your router and operating system. By default Ubuntu comes with UFW firewall but it is inactive so all ports will be open. To activate the firewall and open these ports type 'sudo ufw allow 13333' for testnet and 'sudo ufw allow 3338' for mainnet and then enable the firewall with 'sudo ufw enable'. If you are using SSH to connect to your server you will need to open that port as well as any other ports you need access to. If you are using a home router you will need to find out the ip address of your computer and then adjust port forwarding on your router to allow these ports. A simple way to find out your IP is to type ip addr show and your IP should be displayed so you can add it to your router's port forwarding page.

The Webwallet can be found at: https://webwallet.hydrachain.org/

The Testnet Explorer can be viewed at: https://testexplorer.hydrachain.org/

The Testnet Faucet is at: https://faucet.hydrachain.org/

The Mainnet Explorer can be viewed at: https://explorer.hydachain.org/

Desktop wallet basic usage

Last updated