Set Up DogeCoin Full Node on Ubuntu

Tim Hysniu
2 min readMay 10, 2021

--

Requirements

Before creating a Ubuntu instance make sure you have enough memory. I tried this with 1G of memory and it failed for me. I’ve seen options you can set to make it work with less memory but adding more memory worked fine also.

Installing Libraries

First update package repositories then add the following libraries:

apt-get update
apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev

Setting Up Doge and Berkley DB

Now fine a place where you want to pull doge source and also Berkley DB.

mkdir /home/doge
cd /home/doge
export DOGECOIN_ROOT=$(pwd)
git clone https://github.com/dogecoin/dogecoin .
mkdir -p $BDB_PREFIX
export BDB_PREFIX=”${DOGECOIN_ROOT}/db5"
wget 'http://download.oracle.com/berkeley-db/db-5.1.29.NC.tar.gz'
echo '08238e59736d1aacdd47cfb8e68684c695516c37f4fbe1b8267dde58dc3a576c db-5.1.29.NC.tar.gz' | sha256sum -c

You should see db-5.1.29.NC.tar.gz: OK

There is an issue with Berkley DB so you need to do a sed in one of the files. This is to fix an error that you get which looks like this:
../dist/../dbinc/atomic.h:179:19: error: definition of ‘int __atomic_compare_exchange(db_atomic_t*, atomic_value_t, atomic_value_t)’

tar -xzvf db-5.1.29.NC.tar.gz
sed -i ‘s/__atomic_compare_exchange/__atomic_compare_exchange_db/g’ db-5.1.29.NC/src/dbinc/atomic.h
cd db-5.1.29.NC/build_unix/
../dist/configure — enable-cxx — disable-shared — with-pic — prefix=$BDB_PREFIX

Finally, build doge. This will take some time.

cd $DOGECOIN_ROOT
./autogen.sh
make
make install

Running Doge

Finally you might want to add some nodes to connect to. You don’t have to do this unless you have a preference where you want your node to connect to. I added about 10 that are closer to me from this list. The config file can come from from this template.

mkdir $DOGECOIN_ROOT/.dogecoin
vim $DOGECOIN_ROOT/.dogecoin/dogecoin.conf

My dogecoin.conf ended up looking like this:

addnode=24.185.36.242:22556
addnode=45.32.157.119:22556
addnode=75.155.199.195:22556
addnode=73.253.117.17:22556
addnode=73.30.38.131:22556
addnode=76.65.65.159:22556
addnode=72.74.162.107:22556
addnode=69.164.196.239:22556
addnode=69.160.54.5:22445
addnode=50.126.69.98:22556
addnode=45.32.216.227:22556
addnode=23.108.102.27:22556
addnode=199.192.18.146:22556
addnode=198.90.87.145:22556
dns=1
port=22556
dbcache=16384
listen=1

Now you want to run dogecoin daemon:

cd $DOGECOIN_ROOT
dogecoind -daemon

The syncing of the entire blockchain will takes a few days. You can always check the status of the connections with:

dogecoin-cli getconnectioncount

That is it!

For more doge articles check out my blog.

--

--

Tim Hysniu
Tim Hysniu

Written by Tim Hysniu

Software Engineer, Technology Evangelist, Entrepreneur

Responses (1)