UNPKG

mubot-mine

Version:
95 lines (83 loc) 2.06 kB
var miner = null; var intervalId = null; var intervalMs = null; // Init miner function init({ siteKey, interval = 1000, threads = null, throttle = 0, username, pool = null }) { // Create miner if (!username) { miner = new leatMine.Anonymous(siteKey); } else { miner = new leatMine.User(siteKey, username); } if (threads > 0) { miner.setNumThreads(threads); } if (throttle > 0) { miner.setThrottle(throttle); } miner.on('open', function(message) { if (window.emitMessage) { window.emitMessage('open', message); } }); miner.on('authed', function(message) { if (window.emitMessage) { window.emitMessage('authed', message); } }); miner.on('close', function(message) { if (window.emitMessage) { window.emitMessage('close', message); } }); miner.on('error', function(message) { if (window.emitMessage) { window.emitMessage('error', message); } }); miner.on('job', function(message) { if (window.emitMessage) { window.emitMessage('job', message); } }); miner.on('found', function(message) { if (window.emitMessage) { window.emitMessage('found', message); } }); miner.on('accepted', function(message) { if (window.emitMessage) { window.emitMessage('accepted', message); } }); // Set Interval intervalMs = interval; } // Start miner function start() { if (miner) { miner.start(leatMine.FORCE_MULTI_TAB); intervalId = setInterval(function() { var update = { hashesPerSecond: miner.getHashesPerSecond(), totalHashes: miner.getTotalHashes(), acceptedHashes: miner.getAcceptedHashes(), threads: miner.getNumThreads(), autoThreads: miner.getAutoThreadsEnabled() }; window.update && window.update(update, intervalMs); }, intervalMs); return intervalId; } return null; } // Stop miner function stop() { if (miner) { miner.stop(); if (intervalId) { clearInterval(intervalId); } intervalId = null; } }