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:
- Install package
npm install node-miner --save
- 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(`---`);
});
})();
- Run script with
node [your-script-name].js
and see the result:
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.