First and raw api support + mposcompatibility fixes/codereadability improvements

This commit is contained in:
Andrea Baccega 2014-03-04 23:35:43 +01:00
parent c7e61d681b
commit 1c6f7c4f50
4 changed files with 98 additions and 23 deletions

18
libs/apis.js Normal file
View File

@ -0,0 +1,18 @@
var express = require('express');
var os = require('os');
var app = express();
app.get('/getstatus', function (req, res) {
res.send({
'loadavg': os.loadavg(),
'freemem': os.freemem(),
});
});
module.exports = {
start: function () {
app.listen(9000);
}
}

View File

@ -84,6 +84,7 @@ module.exports = function(logger){
}); });
} }
else{ else{
// if we're here than it means we're on stratumAuth: "none" or something unrecognized by the system!
callback({ callback({
error: null, error: null,
authorized: true, authorized: true,
@ -112,7 +113,7 @@ module.exports = function(logger){
coin : poolOptions.coin.name, coin : poolOptions.coin.name,
isValidShare : isValidShare, isValidShare : isValidShare,
isValidBlock : isValidBlock, isValidBlock : isValidBlock,
solution: blockHex solution : blockHex // blockHex is undefined is this was not a valid block.
}); });
if (isValidBlock){ if (isValidBlock){

56
libs/workerapi.js Normal file
View File

@ -0,0 +1,56 @@
var express = require('express');
var os = require('os');
function workerapi(listen) {
var _this = this;
var app = express();
var counters = {
validShares : 0,
validBlocks : 0,
invalidShares : 0
};
var lastEvents = {
lastValidShare : 0 ,
lastValidBlock : 0,
lastInvalidShare : 0
};
app.get('/stats', function (req, res) {
res.send({
"clients" : Object.keys(_this.poolObj.stratumServer.getStratumClients()).length,
"counters" : counters,
"lastEvents" : lastEvents
});
});
this.start = function (poolObj) {
this.poolObj = poolObj;
this.poolObj.once('started', function () {
app.listen(listen, function (lol) {
console.log("LISTENING ");
});
})
.on('share', function(isValidShare, isValidBlock, shareData) {
var now = Date.now();
if (isValidShare) {
counters.validShares ++;
lastEvents.lastValidShare = now;
if (isValidBlock) {
counters.validBlocks ++;
lastEvents.lastValidBlock = now;
}
} else {
counters.invalidShares ++;
lastEvents.lastInvalidShare = now;
}
});
}
}
module.exports = workerapi;