From 0f6192e3aa285c3653609213da28613f91237843 Mon Sep 17 00:00:00 2001 From: hellcatz Date: Sun, 30 Apr 2017 13:10:05 -0700 Subject: [PATCH] Update shareProcessor.js Track miner times by address not worker name --- libs/shareProcessor.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/libs/shareProcessor.js b/libs/shareProcessor.js index 02fdc57..bc302b7 100644 --- a/libs/shareProcessor.js +++ b/libs/shareProcessor.js @@ -93,17 +93,18 @@ module.exports = function(logger, poolConfig){ if (isValidShare || isValidBlock) { var now = Date.now(); var lastShareTime = now; - if (_lastShareTimes[shareData.worker] != null && _lastShareTimes[shareData.worker] > 0) - lastShareTime = _lastShareTimes[shareData.worker]; + var workerAddress = shareData.worker.split('.')[0]; + if (_lastShareTimes[workerAddress] != null && _lastShareTimes[workerAddress] > 0) + lastShareTime = _lastShareTimes[workerAddress]; // if its been less than 10 minutes since last share was submitted var timeChangeSec = roundTo(Math.max(now - lastShareTime, 0) / 1000, 3); if (timeChangeSec < 600) { - redisCommands.push(['hincrbyfloat', coin + ':shares:timesCurrent', shareData.worker, timeChangeSec]); + redisCommands.push(['hincrbyfloat', coin + ':shares:timesCurrent', workerAddress, timeChangeSec]); } - + // track last time share - _lastShareTimes[shareData.worker] = now; + _lastShareTimes[workerAddress] = now; } /* Stores share diff, worker, and unique value with a score that is the timestamp. Unique value ensures it @@ -117,7 +118,7 @@ module.exports = function(logger, poolConfig){ redisCommands.push(['rename', coin + ':shares:roundCurrent', coin + ':shares:round' + shareData.height]); redisCommands.push(['rename', coin + ':shares:timesCurrent', coin + ':shares:times' + shareData.height]); redisCommands.push(['sadd', coin + ':blocksPending', [shareData.blockHash, shareData.txHash, shareData.height, shareData.worker, dateNow].join(':')]); - redisCommands.push(['hincrby', coin + ':stats', 'validBlocks', 1]); + redisCommands.push(['hincrby', coin + ':stats', 'validBlocks', 1]); // reset pplnt share times for next round _lastShareTimes = {}; }