Browse Source

Add trackShares poolconfig option, defaults to true set to false to not track shares and pending blocks to payout

dev
webworker01 6 years ago
parent
commit
30f68c73c6
No known key found for this signature in database GPG Key ID: 7C4B4F666DB24C9F
  1. 20
      libs/shareProcessor.js

20
libs/shareProcessor.js

@ -1,7 +1,5 @@
var redis = require('redis');
var Stratum = require('stratum-pool');
// var Stratum = require('stratum-pool');
/*
This module deals with handling shares when in internal payment processing mode. It connects to a redis
@ -13,13 +11,11 @@ value: a hash with..
*/
module.exports = function(logger, poolConfig){
var redisConfig = poolConfig.redis;
var coin = poolConfig.coin.name;
var trackShares = (typeof poolConfig.trackShares !== 'undefined') ? true : poolConfig.trackShares;
var forkId = process.env.forkId;
var logSystem = 'Pool';
@ -71,7 +67,9 @@ module.exports = function(logger, poolConfig){
var redisCommands = [];
if (isValidShare) {
redisCommands.push(['hincrbyfloat', coin + ':shares:roundCurrent', shareData.worker, shareData.difficulty]);
if (trackShares) {
redisCommands.push(['hincrbyfloat', coin + ':shares:roundCurrent', shareData.worker, shareData.difficulty]);
}
redisCommands.push(['hincrby', coin + ':stats', 'validShares', 1]);
} else {
redisCommands.push(['hincrby', coin + ':stats', 'invalidShares', 1]);
@ -85,9 +83,11 @@ module.exports = function(logger, poolConfig){
redisCommands.push(['zadd', coin + ':hashrate', dateNow / 1000 | 0, hashrateData.join(':')]);
if (isValidBlock){
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(':')]);
if (trackShares) {
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]);
}
else if (shareData.blockHash){

Loading…
Cancel
Save