Jump to content
Sign in to follow this  

How to Setup NOMP Mining Pool [D] - Denarius

Recommended Posts


How to setup a NOMP mining pool for Denarius. This is a basic guide to get someone headed in the right direction to getting a pool to work.

I can run 2 coins on a $5 Vultr VPS with small hashrate, so far.

Update Ubuntu 16.04

apt-get update
apt-get dist-upgrade

Create a swap file

dd if=/dev/zero of=/mnt/myswap.swap bs=1M count=4000
mkswap /mnt/myswap.swap
swapon /mnt/myswap.swap

Create swap file to keep this persistent

nano /etc/fstab

Insert at the bottom of the file

/mnt/myswap.swap none swap sw 0 0

Install required packages

apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev
apt-get install libboost-all-dev git npm nodejs nodejs-legacy libminiupnpc-dev redis-server
add-apt-repository ppa:bitcoin/bitcoin
apt-get update
apt-get install libdb4.8-dev libdb4.8++-dev
curl https://raw.githubusercontent.com/creationix/nvm/v0.16.1/install.sh | sh
source ~/.profile
nvm install 0.10.25
nvm use 0.10.25

Make a new user since you aren't going to use root for this.

dduser usernameyourwant

Give new user sudo access

adduser usernameyousetup sudo

Reboot and login as the new user


Denarius Wallet Daemon Setup

Get dependencies

apt-get --assume-yes install git unzip build-essential libssl-dev libdb++-dev libboost-all-dev libcrypto++-dev libqrencode-dev libminiupnpc-dev libgmp-dev libgmp3-dev autoconf libevent-dev autogen automake  libtool


Compile Denarius Daemon

git clone https://github.com/carsenk/denarius
cd denarius
git checkout master
cd src
make -f makefile.unix
sudo mv ~/denarius/src/denariusd /usr/local/bin/denariusd

Get chaindata and extract to .denarius folder

apt-get -y install unzip
cd ~/.denarius
rm -rf database txleveldb smsgDB
wget https://chaindata.pos.watch/chaindata.zip
unzip chaindata.zip

Edit denarius.conf

nano ~/.denarius/denarius.conf

Insert this into denarius.conf


Run the wallet so its syncing while you do this

sudo denariusd --daemon

Get a DNR address so the pool has a wallet. Save this address for a step below. Address goes into pool_configs/denarius.json eventually.

denariusd getnewaddress


Mining Pool Setup

git clone https://github.com/buzzkillb/node-open-mining-portal nomp
cd nomp
sudo npm update

You want to create a config.json in the main nomp directory. Replace your IP address and take note of changing port 8080 to some random port.

Sample config.json

Create the Coin denarius.json under nomp/coins

Sample denarius.json

Create the pool config for denarius under nomp/pool_configs. Replace DNRPOOLWALLETDAEMONADDRESS with address used from Denarius wallet daemon getnewaddress from above. Change DNRFEEPAYMENTADDRESS to your fee payment address and 1.0 is 1% fee. Use RPC user and pass that you have in your denarius.conf. Change ports and difficulty for your needs.

Sample denarius.json

Starting the pool.

cd nomp
npm install [email protected]
node init.js

Now go your your IPADDRESS:PORT in your web browser and get to mining on your pool.

I also disabled root access, password logins and only allow SSH key login to the new user.

  • Like 1

Join Denarius Discord - https://discord.gg/JQEmXwb

Share this post

Link to post
Share on other sites

To reverse PROXY this and use letsencrypt for easy TLS. Basically NOMP is using Port 8080 for web server which we will pass to port 80 using NGINX and then let certbot configure this to work on TLS port 443.


sample how you edit above examples node file

server {
    listen 80;
    server_name mining.cafe;

    location / {
        proxy_set_header   X-Forwarded-For $remote_addr;
        proxy_set_header   Host $http_host;
        proxy_pass         "";

Then install letsencrypt on example -> Ubuntu 18.04 Bionic

When it asks to always use 443 say YES! and that's eet. Certbot does all the heavy lifting.

  • Like 1
  • Upvote 1

Join Denarius Discord - https://discord.gg/JQEmXwb

Share this post

Link to post
Share on other sites

To get this to work on Denarius I changed these areas to comment them out

~/nomp/node_modules/stratum-pool/lib/blockTemplate.js around line 38

/**    function getVoteData(){
        if (!rpcData.masternode_payments) return new Buffer([]);

        return Buffer.concat(
                rpcData.votes.map(function (vt) {
                    return new Buffer(vt, 'hex');

and around line 110

   //         getVoteData(),



replace getVoteData function with

function getVoteData(){
    return new Buffer([]);


  • Like 1

Join Denarius Discord - https://discord.gg/JQEmXwb

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Create New...