Install Dogecoin Wallet on CentOS

Dogecoin (Ɖ) is one of the many opensource cryptocurrencies that has penetrated the post-Bitcoin marketplace. As of February 2014, Dogecoin rates fifth (5th) in market capitalization among Bitcoin, Litecoin, and all other cryptocurrencies (source). This particular coin’s name is based on the “doge” meme, a slang term for “dog”.

Dogecoin is a fork of LiteCoin (presently third in market capitalization) and is based on the scrypt cryptographic algorithm, instead of being SHA-2-based like Bitcoin. The fact that Dogecoin is scrypt-based means that you can still actually mine Dogecoin with your Graphics Card or CPU (or Liquid Web server).

Without further delay… to the moon!

Pre-Flight Check
  • These instructions are intended for installing the daemon program for Dogecoin, dogecoind. This daemon allows for interaction with the Dogecoin blockchain to accomplish many different tasks, such as: creating a wallet, sending and receiving Ɖ, and even mining for new Ɖ coins. This tutorial is specifically for installing the headless (non-GUI) version system-wide on a single CentOS 6 node.
  • I’ll be working from a Liquid Web Core Managed CentOS 6.5 server, and I’ll be logged in as root.
Step #1: Installing the Dependencies

First, you’ll follow a simple best practice: ensuring the existing packages are up to date before installing anything new.

yum update

Then, you’ll install some of the required dependencies that won’t need to be compiled from source.

yum -y groupinstall "Development Tools"
yum -y install zlib-devel bzip2-devel wget python-devel
echo '/usr/local/lib' > /etc/ld.so.conf.d/usr_local_lib.conf && /sbin/ldconfig
echo '/usr/local/lib64' > /etc/ld.so.conf.d/usr_local_lib64.conf && /sbin/ldconfig

Step #2: Installing OpenSSL

The current version of OpenSSL in CentOS is 1.0.1e, which is only one release behind (as of February 2014). This version, unfortunately, will not work with dogecoind because it doesn’t include all of the required components.

Note: This crippled version of OpenSSL is the bane of many people trying to install modern programs on RHEL-Based distributions (such as CentOS).

For the purposes of this tutorial, you’ll install the most current version (openssl-1.0.1f) concurrently with the system version.

cd /usr/local/src
wget -qO- http://www.openssl.org/source/openssl-1.0.1f.tar.gz | tar xzv
cd openssl-1.0.1f
./config shared --prefix=/usr/local --openssldir=/usr/local/ssl
make && make install

Step #3: Installing Boost (A Collection of C++ Libraries)

cd /usr/local/src
wget -qO- http://downloads.sourceforge.net/boost/boost_1_55_0.tar.bz2 | tar xjv
cd boost_1_55_0/
./bootstrap.sh --prefix=/usr/local
./b2 install --with=all

Step #4: Installing BerkeleyDB (A Library for High-Performance Database Functionality)

cd /usr/local/src
wget -qO- http://download.oracle.com/berkeley-db/db-5.1.19.tar.gz | tar xzv
cd db-5.1.19/build_unix
../dist/configure --prefix=/usr/local --enable-cxx
make && make install

Step #Wow: Installing dogecoind

cd /usr/local/src
ldconfig
mkdir /usr/local/src/dogecoin-master
cd /usr/local/src/dogecoin-master
wget -qO- https://github.com/dogecoin/dogecoin/archive/master-1.5.tar.gz --no-check-certificate | tar xzv --strip-components 1
cd src
make -f makefile.unix USE_UPNP=- BDB_LIB_PATH=/usr/local/lib OPENSSL_LIB_PATH=/usr/local/lib64

The dogecoind binary should now be compiled. Next we’ll strip the debugging symbols out of the binary and move it to a location that allows for easy execution.

strip dogecoind
cp -a dogecoind /usr/local/bin/

Step #6: Configuring dogecoind

Most scrypt-based cryptocurrencies use a configuration file that is nearly identical to LiteCoin’s. It is generally safe to use Litecoin documentation when looking up configuration variables.

If you do not have a standard non-root user, then you can create one using the useradd command. In this example we’re going to create a user named doge.

useradd -m -s/bin/bash doge

Assume the identity of the non-privileged user, doge.

su - doge

Now that you’ve assumed the identity of a non-privileged user, you will want to run dogecoind for the first time.

dogecoind

Sample Output:

[doge@doge01 ~]$ dogecoind
Error: To use dogecoind, you must set a secure rpcpassword in the configuration file: /home/doge/.dogecoin/dogecoin.conf
It is recommended you use the following random password:
rpcuser=dogecoinrpc
rpcpassword=G2AYeU66DQdChULRNgBn6AnqbezNkGHChTULLykx1Tuw (you do not need to remember this password)
The username and password MUST NOT be the same.
If the file does not exist, create it with owner-readable-only file permissions.
It is also recommended to set alertnotify so you are notified of problems; for example: alertnotify=echo %s | mail -s "Dogecoin Alert" admin@foo.com

The first run of dogecoind as a user (doge , in this case) will generate the required directory and files.

You’ll now fetch a basic configuration file and modify it to suit your needs.

cd ~/.dogecoin
wget https://raw.github.com/dogecoin/dogecoin/master-1.5/release/dogecoin.conf

This file contains nothing more than a few current nodes, so you will need to modify it. Again, it is generally safe to use Litecoin documentation when looking up configuration variables. For a refresher on editing files with vim see: New User Tutorial: Overview of the Vim Text Editor

Additional Reading

And a video for your enjoyment:

Be Sociable, Share!
Here's $75, Launch a New VPS Today. Find out why 30,000 customers have chosen our Best-in-Class Performance & 24x7 Heroic Support.