Based on a clean Ubuntu 16.04 LTS minimal install
- Create a user 'nodeproxy' and assign a password (or add an SSH key. If you prefer that, you should already know how to do it)
useradd -d /home/nodeproxy -m -s /bin/bash nodeproxy
passwd nodeproxy
- Add your user to
/etc/sudoers
, this must be done so the script can sudo up and do it's job. We suggest passwordless sudo. Suggested line:<USER> ALL=(ALL) NOPASSWD:ALL
. Our sample builds use:nodeproxy ALL=(ALL) NOPASSWD:ALL
echo "nodeproxy ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
- Log in as the NON-ROOT USER you just created and run the deploy script. This is very important! This script will install the proxy to whatever user it's running under!
curl -L https://raw.githubusercontent.com/Snipa22/xmr-node-proxy/master/install.sh | bash
- Once it's complete, copy
example_config.json
toconfig.json
and edit as desired. - Run:
source ~/.bashrc
This will activate NVM and get things working for the following pm2 steps. - Once you're happy with the settings, go ahead and start all the proxy daemon, commands follow.
cd ~/xmr-node-proxy/
pm2 start proxy.js --name=proxy --log-date-format="YYYY-MM-DD HH:mm Z"
pm2 save
You can check the status of your proxy by either issuing
pm2 logs proxy
or using the pm2 monitor
pm2 monit
VM's with 512Mb of ram or less will need some swap space in order to compile the C extensions for node. Bignum and the CN libraries can chew some serious memory during compile.
If not running on an Ubuntu 16.04 system, please make sure your kernel is at least 3.2 or higher, as older versions will not work for this.
Many smaller VM's come with Ulimits set very low, we suggest looking into how to tweak the ulimits for your systems higher. In particular nofile (Number of files open) needs to be raised for high-usage instances.
If your system doesn't have AES-NI, then it will throw an error during the node-multi-hashing install, as this is AES-NI required. If this is the case, go ahead and change the following line: "multi-hashing": "git+https://github.com/Snipa22/node-multi-hashing-aesni.git", to: "multi-hashing": "git://github.com/clintar/node-multi-hashing.git#Nan-2.0", In your packages.json, then do a npm install, and it should pass.
The proxy gains a massive boost over a basic pool, by accepting that the majority of the hashes submitted /will/ not be valid, as they do not exceed the required difficulty of the pool. Due to this the proxy really doesn't bother attempting to validate the hash state and/or value until the difficulty of the share exceeds the difficulty set by the pool.
In testing, we've seen AWS T2.Micro instances taking upwards of 2k connections, with T2.Smalls taking 6k. The proxy is extremely light weight, and while there are more features on the way, it's our goal to keep the proxy as light weight as possible.
Please check the wiki for information on configuration
The proxy comes configured for a 1% donation, this is easily toggled inside of it's configuration. If you'd like to make a one time donation, the addresses are as follows:
- XMR - 44Ldv5GQQhP7K7t3ZBdZjkPA7Kg7dhHwk3ZM3RJqxxrecENSFx27Vq14NAMAd2HBvwEPUVVvydPRLcC69JCZDHLT2X5a4gr
- BTC - 114DGE2jmPb5CP2RGKZn6u6xtccHhZGFmM
If you need help installing the pool from scratch, please have your servers ready, which would be Ubuntu 16.04 servers, blank and clean, DNS records pointed. These need to be x86_64 boxes with AES-NI Available.
Installation asstiance is 4 XMR, with a 2 XMR deposit, with remainder to be paid on completion.
Configuration assistance is 2 XMR with a 1 XMR deposit, and includes debugging your proxy configurations, ensuring that everything is running, and tuning for your uses/needs.
SSH access with a sudo-enabled user will be needed for installs, preferably the user that is slated to run the pool.
Please contact Snipa at: [email protected] or via IRC on irc.freenode.net in #monero-pools
- XMRPool.net
- supportXMR.com
- pool.xmr.pt
- minemonero.pro
- XMRPool.xyz
- ViaXMR.com
- mine.MoneroPRO.com
- MinerCircle.com
- xmr.p00ls.net
If you'd like to have your pool added, please make a pull request here, or contact Snipa on IRC!