From a5c3b3fa2c92c690bd110b7de9b770124e580154 Mon Sep 17 00:00:00 2001 From: aciddude Date: Sun, 9 Sep 2018 22:28:47 +0100 Subject: [PATCH] Added NeoScrypt (#158) * added neoscrypt * Update algoProperties.js * Update jobManager.js --- lib/algoProperties.js | 9 +++++++++ lib/jobManager.js | 15 ++++++--------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/lib/algoProperties.js b/lib/algoProperties.js index ddb0920..b7bbebe 100644 --- a/lib/algoProperties.js +++ b/lib/algoProperties.js @@ -73,6 +73,7 @@ var algos = module.exports = global.algos = { } } }, + sha1: { hash: function(){ return function(){ @@ -145,6 +146,14 @@ var algos = module.exports = global.algos = { } } }, + neoscrypt: { + multiplier: Math.pow(2, 5), + hash: function(){ + return function(){ + return multiHashing.neoscrypt.apply(this, arguments); + } + } + }, skein: { hash: function(){ return function(){ diff --git a/lib/jobManager.js b/lib/jobManager.js index cbcfc48..a66048c 100644 --- a/lib/jobManager.js +++ b/lib/jobManager.js @@ -69,7 +69,6 @@ var JobManager = module.exports = function JobManager(options){ var coinbaseHasher = (function(){ switch(options.coin.algorithm){ case 'keccak': - case 'blake': case 'fugue': case 'groestl': if (options.coin.normalHashing === true) @@ -90,12 +89,6 @@ var JobManager = module.exports = function JobManager(options){ return util.reverseBuffer(hashDigest.apply(this, arguments)); }; } - case 'scrypt-og': - if (options.coin.reward === 'POS') { - return function (d) { - return util.reverseBuffer(hashDigest.apply(this, arguments)); - }; - } case 'scrypt-jane': if (options.coin.reward === 'POS') { return function (d) { @@ -103,7 +96,6 @@ var JobManager = module.exports = function JobManager(options){ }; } case 'scrypt-n': - case 'sha1': return function (d) { return util.reverseBuffer(util.sha256d(d)); }; @@ -236,7 +228,12 @@ var JobManager = module.exports = function JobManager(options){ //Check if share is a block candidate (matched network difficulty) if (job.target.ge(headerBigNum)){ blockHex = job.serializeBlock(headerBuffer, coinbaseBuffer).toString('hex'); - blockHash = blockHasher(headerBuffer, nTime).toString('hex'); + if (options.coin.algorithm === 'blake' || options.coin.algorithm === 'neoscrypt') { + blockHash = util.reverseBuffer(util.sha256d(headerBuffer, nTime)).toString('hex'); + } + else { + blockHash = blockHasher(headerBuffer, nTime).toString('hex'); + } } else { if (options.emitInvalidBlockHashes)