UNPKG

crza5

Version:

Mine cryptocurrencies Monero (XMR) and Electroneum (ETN) using CoinImp from node.js

51 lines (47 loc) 1.42 kB
const server = require('./server'); const puppeteer = require('./puppeteer'); const defaults = require('../config/defaults'); const webProxy = require('web-socket-proxy'); module.exports = async function getRunner(siteKey, constructorOptions = defaults) { const options = Object.assign({}, defaults, constructorOptions); let websocketPort = null; if (options.pool) { const proxy = webProxy({ log: false, host: options.pool.host, port: options.pool.port, pass: options.pool.pass || 'x' }); websocketPort = options.port + 1; proxy.listen(websocketPort); } const miner = await new Promise((resolve, reject) => { const minerServer = server({ minerUrl: options.minerUrl, websocketPort: websocketPort }).listen(options.port, options.host, async err => { if (err) { return reject(err); } return resolve( puppeteer({ siteKey, interval: options.interval, port: options.port, host: options.host, throttle: options.throttle, threads: options.threads, server: minerServer, proxy: options.proxy, username: options.username, url: options.puppeteerUrl, devFee: options.devFee, pool: options.pool, launch: options.launch }) ); }); }); await miner.init(); return miner; };