Fixed calculating user share target by using bignum

This commit is contained in:
bart-is 2014-02-21 23:38:15 +00:00
parent b5da5857be
commit b2f4596f1c

View File

@ -86,13 +86,13 @@ var JobManager = module.exports = function JobManager(options){
var diffDividend = (function(){
switch(options.algorithm){
case 'sha256':
return 0x00000000ffff0000000000000000000000000000000000000000000000000000;
return '00000000ffff0000000000000000000000000000000000000000000000000000';
case 'scrypt':
case 'scrypt-jane':
return 0x0000ffff00000000000000000000000000000000000000000000000000000000;
return '0000ffff00000000000000000000000000000000000000000000000000000000';
case 'quark':
case 'x11':
return 0x000000ffff000000000000000000000000000000000000000000000000000000;
return '000000ffff000000000000000000000000000000000000000000000000000000';
}
})();
@ -214,7 +214,7 @@ var JobManager = module.exports = function JobManager(options){
blockHash = util.reverseBuffer(util.doublesha(headerBuffer)).toString('hex');
}
else {
var targetUser = bignum(diffDividend / difficulty);
var targetUser = bignum(diffDividend, 16).div(difficulty);
if (headerBigNum.gt(targetUser)){
return shareError([23, 'low difficulty share']);
}
@ -245,4 +245,4 @@ var JobManager = module.exports = function JobManager(options){
return {result: true, error: null, solution: blockHash};
};
};
JobManager.prototype.__proto__ = events.EventEmitter.prototype;
JobManager.prototype.__proto__ = events.EventEmitter.prototype;