Merge pull request #7 from bart-is/master

Fixed calculating user share target by using bignum
This commit is contained in:
Matthew Little 2014-02-21 21:09:25 -07:00
commit 070d7c2f2a

View File

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