var Server = require('stratum').Server; // these settings can be changed using Server.defaults as well, for every new server up var server = new Server({ /** * The server settings itself */ settings: { /** * Address to set the X-Stratum header if someone connects using HTTP * @type {String} */ hostname: 'localhost', /** * Max server lag before considering the server "too busy" and drop new connections * @type {Number} */ toobusy : 70, /** * Bind to address, use 0.0.0.0 for external access * @type {string} */ host : 'localhost', /** * Port for the stratum TCP server to listen on * @type {Number} */ port : 3337 } }); server.on('mining', function(req, deferred){ switch (req.method){ case 'subscribe': // req.params[0] -> if filled, it's the User Agent, like CGMiner/CPUMiner sends // Just resolve the deferred, the promise will be resolved and the data sent to the connected client var difficulty_id = "b4b6693b72a50c7116db18d6497cac52"; var subscription_id = "ae6812eb4cd7735a302a8a9dd95cf71f"; var extranonce1 = "08000002"; var extranonce2_size = 4; deferred.resolve([difficulty_id, subscription_id, extranonce1, extranonce2_size]); break; } }); server.listen();