Giter Site home page Giter Site logo

xmr-node-proxy's Introduction

xmr-node-proxy

Setup Instructions

Based on a clean Ubuntu 16.04 LTS minimal install

Deployment via Installer

  1. 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
  1. 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
  1. 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
  1. Once it's complete, copy example_config.json to config.json and edit as desired.
  2. Run: source ~/.bashrc This will activate NVM and get things working for the following pm2 steps.
  3. 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

Known Issues

VMs with 512Mb or less RAM will need some swap space in order to compile the C extensions for node. Bignum and the CN libraries can chew through some serious memory during compile. In regards to this, one of our users has put together a guide for T2.Micro servers: https://docs.google.com/document/d/1m8E4_pDwKuFo0TnWJaO13LDHqOmbL6YrzyR6FvzqGgU (Credit goes to MayDay30 for his work with this!)

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 VMs come with ulimits set very low. We suggest looking into setting the ulimit 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 requires AES-NI. 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, do a npm install, and it should pass.

Performance

The proxy gains a massive boost over a basic pool by accepting that the majority of the hashes submitted will not be valid (does not exceed the required difficulty of the pool). Due to this, the proxy doesn't bother with attempting to validate the hash state nor value until the share difficulty exceeds the pool difficulty.

In testing, we've seen AWS t2.micro instances take upwards of 2k connections, while t2.small 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.

Configuration Guidelines

Please check the wiki for information on configuration

Developer Donations

The proxy is pre-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

Installation/Configuration Assistance

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

Known Working Pools

xmr-node-proxy's People

Contributors

snipa22 avatar tosokr avatar connorw600 avatar mxjoe avatar alecient avatar miili avatar minercircle avatar slayerulan avatar sph34r avatar sunk818 avatar sunxfof avatar

Watchers

James Cloos avatar 吴志杰 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.