Dogecoin (Ɖ) is one of the many open-source 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!
- 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.
First, you’ll follow a simple best practice: ensuring the existing packages are up to date before installing anything new.
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
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.
For the purposes of this tutorial, you’ll install the most current version (openssl-1.0.1f) concurrently with the system version.
wget -qO- http://www.openssl.org/source/openssl-1.0.1f.tar.gz | tar xzv
./config shared --prefix=/usr/local --openssldir=/usr/local/ssl
make && make install
wget -qO- http://downloads.sourceforge.net/boost/boost_1_55_0.tar.bz2 | tar xjv
./b2 install --with=all
wget -qO- http://download.oracle.com/berkeley-db/db-5.1.19.tar.gz | tar xzv
../dist/configure --prefix=/usr/local --enable-cxx
make && make install
wget -qO- https://github.com/dogecoin/dogecoin/archive/master-1.5.tar.gz --no-check-certificate | tar xzv --strip-components 1
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.
cp -a dogecoind /usr/local/bin/
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.
[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:
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" firstname.lastname@example.org
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.
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
And a video for your enjoyment: