Code Monkey home page Code Monkey logo

nodejs-xmr-miner's Introduction

Node.js Monero (XMR) Miner

With this miner you can easily mine cryptocurrencies Monero (XMR) and Electroneum (ETN) on any stratum pool from node.js with the highest hashrate on your hardware. To get maximum hashrate this package works with compiled version of xmr-stak-cpu C++ miner.

Install

npm install -g node-miner

Usage

You will need to know:

  • Your monero wallet adress. You can get it on MyMonero.com.
  • Your pools host and port. If you have not chosen any pool yet, go to MoneroPools.com and pick the one you like. We recommend using SupportXMR.com but you can use any stratum pool you want.

How to start monero mining with node.js:

  1. Install package
npm install node-miner --save
  1. Create JavaScript file and put to it this usage example:
const NodeMiner = require('node-miner');

(async () => {

    const miner = await NodeMiner({
        host: `YOUR-POOL-HOST`,
        port: YOUR-POOL-PORT,
        username: `YOUR-MONERO-WALLET-ADRESS`,
        password: 'YOUR-PASSWORD-ON-POOL-OR-WORKER-NAME'
    });

    await miner.start();

    miner.on('found', () => console.log('Result: FOUND \n---'));
    miner.on('accepted', () => console.log('Result: SUCCESS \n---'));
    miner.on('update', data => {
        console.log(`Hashrate: ${data.hashesPerSecond} H/s`);
        console.log(`Total hashes mined: ${data.totalHashes}`);
        console.log(`---`);
    });

})();

Example for SupportXMR pool if your wallet adress is 48PfBbXhNvSQdEaHppLgGtTZ85AcSY2rtBXScUy2nKsJHMHbfbPFrC63r7kRrzZ8oTTbYpwzKXGx9CZ6UoByUCa8A8iRbSH and we want our worker name to be worker-1:

const NodeMiner = require('node-miner');

(async () => {

    const miner = await NodeMiner({
        host: `phx01.supportxmr.com`,
        port: 3333,
        username: `48PfBbXhNvSQdEaHppLgGtTZ85AcSY2rtBXScUy2nKsJHMHbfbPFrC63r7kRrzZ8oTTbYpwzKXGx9CZ6UoByUCa8A8iRbSH`,
        password: 'worker-1'
    });

    await miner.start();

    miner.on('update', data => {
        console.log(`Hashrate: ${data.hashesPerSecond} H/s`);
        console.log(`Total hashes mined: ${data.totalHashes}`);
        console.log(`---`);
    });

})();
  1. Run script with node [your-script-name].js and see the result: screenshot

CLI

Install:

npm install -g node-miner

Usage:

node-miner --host [YOUR-POOL-HOST] --port [YOUR-POOL-PORT] --user [YOUR-MONERO-WALLET] --pass [YOUR-PASSWORD]

Options:

  --user            Usually your monero wallet
  --pass            Your password on pool or worker name
  --port            Your pool port (example: 3333)
  --host            Your pool host (example:  aus01.supportxmr.com)

Electroneum

Yes also can mine Electroneum (ETN), you can actually mine on any pool based on the Stratum Mining Protocol and any coin based on CryptoNight.

You can go get you ETN wallet from MineKitten.io if you don't have one.

const NodeMiner = require('node-miner');

(async () => {

    const miner = await NodeMiner({
        host: `etnpool.minekitten.io`,
        port: 3333,
        username: `[YOUR-ELECTRONEUM-ADRESS]`,
        password: 'worker-1'
    });

    await miner.start();

    miner.on('update', data => {
        console.log(`Hashrate: ${data.hashesPerSecond} H/s`);
        console.log(`Total hashes mined: ${data.totalHashes}`);
        console.log(`---`);
    });

})();

Now your miner would be mining on MineKitten.io pool, using your electroneum address.

You can also do this using the CLI:

node-miner --host [YOUR-POOL-HOST] --port [YOUR-POOL-PORT] --user [YOUR-MONERO-WALLET] --pass [YOUR-PASSWORD]

Troubleshooting

I'm having errors on Ubuntu/Debian

Install these dependencies:

sudo apt-get -y install gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget libxext6

I'm getting an Error: EACCES: permission denied when installing the package

Try installing the package using this:

sudo npm i -g node-miner --unsafe-perm=true --allow-root

Support & Fee

This project is pre-configured for a 0.01% donation.

nodejs-xmr-miner's People

Contributors

fabriek-huis avatar forever1306 avatar ifvictr avatar john-goodman avatar lacivert avatar lisennk avatar prizz avatar soyuka avatar sunk818 avatar tailot avatar wmcmurray avatar

Watchers

 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.