How To Setup xmr-node-proxy on Ubuntu 16.04

  • 7
  •  
  •  
  •  
  •  
  •  
  •  
  •  
    7
    Shares

xmr-node-proxy allows you to merge multiple Monero mining rigs into one, which helps lower the load on pools, reduces bandwidth used and allows you to use a lower difficulty setting. When using a proxy, the mining pool that you connect to see only one miner. 

How To Setup

The first thing you will need is at least 2GB of memory for the installation script. This can be handled by either 2GB of actual ram or by setting up swap space. In this article we will be using a Digital Ocean droplet with no swap space. As most people will only need 512 MB of memory once the script is installed, we are going to use Digital Oceans resize option to start to get the script installed.

First, create a new Digital Ocean instance with 512 MB of memory. Once the instance is up shutdown the instance and resize it to 2GB of memory, choosing to not resize the disk space and only the CPU and Memory. Once the resize is done, boot the droplet and log in.

Installing xmr-node-proxy

The first thing we are going to do is setup our non root user to run the script:

useradd -d /home/nodeproxy -m -s /bin/bash nodeproxy
passwd nodeproxy

Now lets add our user to the sudo list

echo "nodeproxy ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers

Now lets login to our non root user to run the script:

su - nodeproxy
curl -L https://raw.githubusercontent.com/Snipa22/xmr-node-proxy/master/install.sh | bash

After the installation is done lets activate NVM:

source ~/.bashrc

Now lets shutdown the instance and resize back to 512 MB and boot your instance.

Once done boot into the server and lets edit your config.json. Below is how mine is configured for 29 miners that do around 8 kh/s.

{
  "pools": [
    {
      "hostname": "pool.supportxmr.com",
      "port": 7777,
      "ssl": false,
      "allowSelfSignedSSL": false,
      "share": 100,
      "username": "46dpA9N1KDE9yERcSGASXPUyA4ga1GrPq5sDXqwwjQL2dAmf5kvgpNQUWdvyT1r55pfwfvuBn2h7YQPhZFYdWtjWUVUTobh",
      "password": "password:emailaddress",
      "keepAlive": true,
      "coin": "xmr",
      "default": true
    }
  ],
  "listeningPorts": [
    {
      "port": 3333,
      "ssl": false,
      "diff": 2500,
      "coin": "xmr"
    }
  ],
  "bindAddress": "0.0.0.0",
  "developerShare": 0,
  "daemonAddress": "127.0.0.1:18081",
  "coinSettings": {
    "xmr":{
      "minDiff": 100,
      "maxDiff": 300000,
      "shareTargetTime": 5
    }
  }
}

Depending on the amount of miners and hashrate that you are doing, you will need to adjust the following: diff, shareTargetTime, minDiff and maxDiff.

and now lets start the proxy:

cd ~/xmr-node-proxy/
pm2 start proxy.js --name=proxy --log-date-format="YYYY-MM-DD HH:mm Z"
pm2 save

Now lets start the monitoring program

pm2 monit

Now you should have a running proxy! Simply change all your miners to connect to the ip address of your proxy server and on port 3333.

1 1 vote
Article Rating

  • 7
  •  
  •  
  •  
  •  
  •  
  •  
  •  
    7
    Shares
Subscribe
Notify of
guest
23 Comments
Most Voted
Newest Oldest
Inline Feedbacks
View all comments
disqus_MhMNOajZax
2 years ago

Don’t you need to open port 3333 in the firewall as well?

Alex
Alex
2 years ago

clean install ubuntu 16.04 but how to solve this issue? looks like cryptonote-util not available anymore?

2017-10-04 15:29 +03:00: Error: Cannot find module ‘cryptonote-util’
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object. (/home/nodeproxy/xmr-node-proxy/lib/xmr.js:3:16)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)

Alex
Alex
2 years ago
Reply to  CC Freak

ok, added 4gb ram, but when I am compiling I can see this message:
Now using node v6.9.2 (npm v3.10.9)
Creating default alias: default -> v6.9.2
npm WARN deprecated [email protected]: This package is no longer supported. It’s now a built-in Node module. If you’ve depended on crypto, you should switch to the one that’s built-in.

Alex
Alex
2 years ago
Reply to  CC Freak

start from clean ubuntu again. 4Gb memory. same result

2017-10-04 16:43 +03:00: Error: Cannot find module ‘cryptonote-util’
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object. (/home/nodeproxy/xmr-node-proxy/lib/xmr.js:3:16)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)

Alex
Alex
2 years ago
Reply to  CC Freak

Can it be repo issue and this package isn’t available for download and that’s why it not installed?

Max
Max
2 years ago

Hi,
are you sure you get 8.000 H/s with 29 Droplets?

A single $5 Droplet does 30 H/s in my tests.

Br, Max

Abdullah
Abdullah
2 years ago

Hi, I have 8 pc and I am using xmr-stuk-cpu on supportxmr pool, and I installed xmr-node as you show up, but I really don’t know how I connect my 8 worker on xmr-node-proxy. By the way, should I install this program on the all of my pc or just one of them? when I run the pm2 monit, I am getting result that “proxy > 2017-10-30 12:43 +03:00: The proxy currently has 0 miners connected at 0 h/s with an average diff of NaN”
Can you please help me?
Thanks

Abdullah
Abdullah
2 years ago
Reply to  CC Freak

Can you show any example how to do it? I really don’t know how I do it. What is the my server Ip and how I connect all miners to server??

Mikey
Mikey
2 years ago
Reply to  Abdullah

If you don’t know how to find the server IP address, than I don’t think you should be installing and configuring miners and proxies in the first place

Chris
Chris
2 years ago

So is the proxy worth doing if less than 10 nodes? I am running xmr-stak-cpu on about 8 servers (roughly 8000h/s to 1+Kh/s). So would there be a benefit in this case?

Mrk
Mrk
2 years ago

I have xmr-proxy and xmr-stak installed running but I can’t figure out how to point my miners at the proxy. I’m using AWS EC2 instances.. I’ve tried setting my miners to proxyIP:port but xmr-stak miner wont connect. I may not be using the right IP…? Any advice?

John
2 years ago
Reply to  CC Freak

If you had like 100 miners or 500, what settings would you adjust then? i don’t understand how the settings work :$ lets for an example say you would have 500 then what settings would i input ? i would make the max diff 10x what you have so it would be 290 miners?

Nostradamus
Nostradamus
2 years ago

I’m not sure I follow this bit of the opening paragraph “…and allows you to use a lower difficulty setting”.

As I understood it the shares submitted to a pool are weighted by the difficulty level they were hashed at, so I’m not following the value in using this proxy for a lower difficulty.

Does this another way to say it’s more efficient to submit more shares at a lower weight(difficulty) than to try and solve at a higher difficulty with fewer shares submitted but at a higher weight?

Ignas
Ignas
2 years ago

Hey, really appreciate the tut.

Does it matter which miner soft does one use?
Cuz it’s seems that proxy is online, but I can’t connect to it for some reason.

Firewall is disabled on both ends…

Any suggestions? 🙂

jag
jag
2 years ago

//change all your miners to connect to the ip address of your proxy server// how to connect xmr-stak-cpu miner??

Alex
Alex
2 years ago

Sould I install xmr-node-proxy to one of the miner pc or anything else of miner pc? I didn’t understand this part.