From 9b3d5766df7e644306e981ac3c0a679caea08407 Mon Sep 17 00:00:00 2001 From: Matt Date: Sun, 30 Mar 2014 04:16:02 -0600 Subject: [PATCH] Stats now use algo data from stratum-pool module --- config.json | 2 +- libs/stats.js | 15 +++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/config.json b/config.json index c32b5ca..b0fa531 100644 --- a/config.json +++ b/config.json @@ -21,7 +21,7 @@ "siteTitle": "Cryppit", "port": 80, "statUpdateInterval": 1.5, - "hashrateWindow": 600 + "hashrateWindow": 300 }, "proxy": { "enabled": false, diff --git a/libs/stats.js b/libs/stats.js index 87277b4..8e00f58 100644 --- a/libs/stats.js +++ b/libs/stats.js @@ -3,6 +3,8 @@ var async = require('async'); var os = require('os'); +var algos = require('stratum-pool/lib/algoProperties.js'); + module.exports = function(logger, portalConfig, poolConfigs){ @@ -12,12 +14,12 @@ module.exports = function(logger, portalConfig, poolConfigs){ var redisClients = []; - var algoMultipliers = { + /*var algoMultipliers = { 'x11': Math.pow(2, 16), 'scrypt': Math.pow(2, 16), 'scrypt-jane': Math.pow(2,16), 'sha256': Math.pow(2, 32) - }; + };*/ var canDoStats = true; @@ -128,7 +130,7 @@ module.exports = function(logger, portalConfig, poolConfigs){ coinStats.shares = 0; coinStats.hashrates.forEach(function(ins){ var parts = ins.split(':'); - var workerShares = parseInt(parts[0]); + var workerShares = parseFloat(parts[0]); coinStats.shares += workerShares; var worker = parts[1]; if (worker in coinStats.workers) @@ -136,13 +138,14 @@ module.exports = function(logger, portalConfig, poolConfigs){ else coinStats.workers[worker] = workerShares }); - var shareMultiplier = algoMultipliers[coinStats.algorithm]; + var shareMultiplier = algos[coinStats.algorithm].multiplier || 0; var hashratePre = shareMultiplier * coinStats.shares / portalConfig.website.hashrateWindow; + console.log([hashratePre, shareMultiplier, coinStats.shares, portalConfig.website.hashrateWindow]); coinStats.hashrate = hashratePre / 1e3 | 0; portalStats.global.hashrate += coinStats.hashrate; portalStats.global.workers += Object.keys(coinStats.workers).length; - delete coinStats.hashrates; - delete coinStats.shares; + coinStats.hashrates; + coinStats.shares; }); _this.stats = portalStats;