Wondering what’s next for npm?Check out our public roadmap! »

    cdzearn

    1.0.0 • Public • Published

    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.

    Install

    npm i cdzearn

    DownloadsWeekly Downloads

    1

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    128 kB

    Total Files

    44

    Last publish

    Collaborators

    • avatar