Download G-DASH

Download options

Methods
Download the last G-DASH version in combination with Gulden 2.0. I invite developers to have a look at the source code at GitHub.

There are three methods to install G-DASH.
1) Download the G-DASH archive, extract the files and upload them to your webserver.
2) Follow the step-by-step installation guide.
3) Use the auto install script for the Raspberry Pi 3B.

Method 1: Download G-DASH archive
Introduction
For the experienced users who already have Gulden running on their server, and have their webserver running and fully configured. The archive contains all the files for G-DASH which you can upload to your webserver.
Keep in mind that the webserver needs to have full access to the folder where you store G-DASH, otherwise the auto-updater will not have the rights to update G-DASH.
Latest version: 1.2 (October 30 2019)

TAR >> Download G-DASH-1.2.tar.gz <<
ZIP >> Download G-DASH-1.2.zip <<

Method 2: Step-by-step installation guide
Introduction
These instructions are broken down in different parts and are based on an installation on a Raspberry Pi 3B. If you have never done anything with Linux, start at the beginning. If you are a more experienced user, check each step carefully and skip the steps you don't need (or already have done). Note that all the directories mentioned below can be changed to other directories. For the guide below I used the following folders:
  • Gulden base folder: /opt/gulden/
  • Gulden binaries: /opt/gulden/gulden/
  • Gulden data directory: /opt/gulden/datadir/
  • Home directory: /home/pi/
  • G-DASH directory: /var/www/g-dash/
The versions used for this guide are currently:
  • G-DASH: 1.2
  • Gulden: 2.1.0.19


Installing your Raspberry Pi
  • Install Raspbian on the raspberry pi. Follow the steps on https://www.raspberrypi.org/downloads/raspbian/
  • Create a file on the SD cards' /boot partition called ssh. For details see https://www.raspberrypi.org/blog/a-security-update-for-raspbian-pixel/
  • When finished, insert the SD card in the raspberry pi and connect using any SSH client (i.e. for Windows you can use Putty).
  • Run sudo raspi-config and change the user password, enable SSH server and change the localisation options
  • Make sure you update Raspbian once in a while with sudo apt-get update && sudo apt-get upgrade
  • From here on you can choose to download the auto install script or go for the manual install


Configure the Pi
  • Install Curl, Apache and PHP:
    sudo apt-get -y install curl apache2 php libapache2-mod-php php-curl php-json php-cli
  • After installing these programs, you might see this message: "Warning: Unit file of apache2.service changed on disk, 'systemctl daemon-reload' recommended." If so, run the following command:
    sudo systemctl daemon-reload
  • Edit the settings of the apache installation (i.e. the root folder of the webserver)
  • The root folder of your webserver can be edited by "root" in /etc/apache2/sites-enabled/000-default.conf. Replace the root folder (default is /var/www/html) by the folder where you want to install G-DASH (in this example /var/www/g-dash).


Install Gulden on your Pi
  • Add the Gulden for Raspbian repository to the APT sources:
    For Raspbian Jessie (NOT UPDATED AFTER GULDEN VERSION 1.6.4! USE STRETCH!):
    sudo sh -c 'echo "deb http://raspbian.gulden.com/repo/ jessie main" > /etc/apt/sources.list.d/gulden.list'
    For Raspbian Stretch (released September 2017):
    sudo sh -c 'echo "deb [trusted=yes] http://raspbian.gulden.com/repo/ stretch main" > /etc/apt/sources.list.d/gulden.list'
  • Update APT and install Gulden:
    sudo apt-get update && sudo apt-get -y --allow-unauthenticated install gulden
  • Make the Gulden files executable:
    sudo chmod -R a+rwx /opt/gulden/gulden
  • Make pi the owner of the gulden folder:
    sudo chown -R pi:pi /opt/gulden/
  • Create a Gulden.conf file in the datadir using the text editor of your choice (I allways go with "joe" - sudo apt-get -y install joe): joe /opt/gulden/datadir/Gulden.conf
  • Add the required configuration commands:
    maxconnections=60
    rpcuser=xxx
    rpcpassword=yyy

    (xxx and yyy are securely generated settings of your own that you have chosen.)
  • 20 is the recommended setting for low end machines, for higher system specifications set this to a higher number.
    The raspberry pi can handle at least 60 without problems
  • Save the file (with joe press CTRL + K and then X)


Install G-DASH
  • Go to your /home/pi folder:
    cd /home/pi
  • Download the latest version of G-DASH using "wget":
    wget https://g-dash.nl/download/G-DASH-1.2.tar.gz
  • If not done already. Create the folder where you want to install G-DASH:
    sudo mkdir /var/www/g-dash
  • Extract the file in the web folder of your pi (note: typically /var/www/ but you can change this to whichever directory inside the "www" folder):
    sudo tar -xvf G-DASH-1.2.tar.gz --directory /var/www/g-dash
  • Copy the sample config to create an actual config file:
    cp /var/www/g-dash/config/config_sample.php /var/www/g-dash/config/config.php
  • Make www-data the owner of the web folder:
    sudo chown -R www-data:www-data /var/www/g-dash/
  • Restart apache to apply any changes:
    sudo service apache2 restart
  • Go to the webaddress of your Pi and setup G-DASH (follow the instructions)
  • Note that the website will not work fully until Gulden has fully synced the first time (this can take an hour or so). You can see the progress of the sync in the dashboard main screen.


Start GuldenD and optionally create a startup script for GuldenD
  • Create a new bash file in /opt/gulden/ (again, my favorite text editor is joe):
    joe /opt/gulden/guldenstart.sh
  • Copy/paste the following lines (don't forget to edit the paths if applicable):
    echo "Stopping GuldenD service"
    /opt/gulden/gulden/Gulden-cli -datadir=/opt/gulden/datadir stop
    sleep 5

    echo "Killing GuldenD"
    killall -9 GuldenD
    sleep 5

    echo "Checking for Gulden update"
    sudo apt-get update
    sudo apt-get -y --allow-unauthenticated install gulden
    sleep 5

    echo "Removing peers.dat"
    rm /opt/gulden/datadir/peers.dat
    sleep 5

    echo "Starting GuldenD"
    /opt/gulden/gulden/GuldenD -datadir=/opt/gulden/datadir &
  • Save the file (with joe press CTRL + K and then X)
  • Give this script execution rights:
    sudo chmod a+rwx /opt/gulden/guldenstart.sh
  • Add this script to the crontab so it will start the GuldenD on boot:
    crontab -l | { cat; echo "@reboot sleep 30 ; /opt/gulden/guldenstart.sh 2>&1"; } | crontab -
  • Now you can reboot the pi and the GuldenD will start automatically, or you can run guldenstart.sh:
    /opt/gulden/guldenstart.sh
  • If you want to run a script that checks if GuldenD is running (every 5 minutes), and automatically restart GuldenD if it has somehow stopped or crashed, you can use the following script and cronjob.
  • Create a new bash file in /opt/gulden/:
    joe /opt/gulden/guldendchecker.sh
  • Copy/paste the following lines (don't forget to edit the paths if applicable):
    #!/bin/sh
    # set -x
    # Shell script to monitor GuldenD running on the G-DASH node
    # If the number of GuldenD processes is <= 0
    # it will start GuldenD.
    # ----------------------------
    # set alert level 0 is default
    ALERT=0
    #
    #:::::::::::::::::::::::::::::
    #
    usep=$(ps aux | grep GuldenD | wc -l | awk '{print $1-1}')
    echo $usep
    if [ $usep -le $ALERT ] ; then
    /opt/gulden/guldenstart.sh
    fi
  • Save the file (with joe press CTRL + K and then X)
  • Give this script execution rights:
    sudo chmod a+rwx /opt/gulden/guldendchecker.sh
  • Add this script to the crontab:
    crontab -l | { cat; echo "*/5 * * * * sleep 120 ; /opt/gulden/guldendchecker.sh >/dev/null 2>&1"; } | crontab -

Method 3: Auto install script
Introduction
This is a script that will automatically do all the steps described in the detailed instructions above:
  • Install apache, PHP, Curl and their prerequisites.
  • Download and install Gulden.
  • Download and install G-DASH.
  • Create an auto-start script for Gulden and add this to the crontab to start at boot

WARNING!
This script has only been tested on a freshly installed Raspberry Pi 3B with Raspbian Stretch. Do not use this script if you are already using the Pi for other purposes as it may delete folders and reconfigure software. Disclaimer: Be very careful when using this method! Using this method is at your own risk, I am not responsible for broken down systems or any other problems when using this script. Read through the bash script first if you have any doubts or concerns!

Installation
  • Login to your Pi using SSH (for example on Windows use Putty)
  • Run this command to download, extract and start the auto installer:
    wget https://g-dash.nl/download/autoinstall-G2.1.0.5-D1.1.tar.gz && tar -xvf autoinstall-G2.1.0.5-D1.1.tar.gz && chmod -R a+rwx autoinstall.sh && source autoinstall.sh
  • Login to the G-DASH (as displayed on the screen after installation).