Updated some git naming info
This commit is contained in:
parent
da275ced57
commit
5b849dce59
@ -41,14 +41,16 @@ Features
|
|||||||
* ✓ __Scrypt-Jane__ (YaCoin, CopperBars, Pennies, Tickets, etc..)
|
* ✓ __Scrypt-Jane__ (YaCoin, CopperBars, Pennies, Tickets, etc..)
|
||||||
* ✓ __Quark__ (Quarkcoin [QRK])
|
* ✓ __Quark__ (Quarkcoin [QRK])
|
||||||
* ✓ __X11__ (Darkcoin [DRK])
|
* ✓ __X11__ (Darkcoin [DRK])
|
||||||
* ✓ __Keccak__ (Maxcoin [MAX], HelixCoin [HXC])
|
|
||||||
|
|
||||||
|
|
||||||
Under development:
|
Under development:
|
||||||
|
* ✗ *Keccak* (CopperLark [CLR])
|
||||||
|
* ✗ *Max* (Maxcoin [MAX], HelixCoin [HXC])
|
||||||
* ✗ *Scrypt-n* (Vertcoin [VTC])
|
* ✗ *Scrypt-n* (Vertcoin [VTC])
|
||||||
* ✗ *Skein* (Skeincoin [SKC])
|
* ✗ *Skein* (Skeincoin [SKC])
|
||||||
* ✗ *Bcrypt* (Taojingcoin [TJC])
|
* ✗ *Bcrypt* (Taojingcoin [TJC])
|
||||||
* ✗ *Hefty1* (Heavycoin [HVC])
|
* ✗ *Hefty1* (Heavycoin [HVC])
|
||||||
|
* ✗ *Blake* (Blakecoin [BLC])
|
||||||
|
|
||||||
|
|
||||||
#### Under development
|
#### Under development
|
||||||
|
|||||||
25
algo_dev.txt
Normal file
25
algo_dev.txt
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
hefty1
|
||||||
|
00000000ffff0000000000000000000000000000000000000000000000000000
|
||||||
|
https://github.com/heavycoin/heavycoin-hash-python
|
||||||
|
|
||||||
|
|
||||||
|
keccak
|
||||||
|
https://github.com/phusion/node-sha3
|
||||||
|
|
||||||
|
blake
|
||||||
|
https://github.com/BlueDragon747/Blakecoin_Python_POW_Module
|
||||||
|
|
||||||
|
|
||||||
|
bcrypt
|
||||||
|
https://github.com/TaojingCoin-pd/Taojingcoin/blob/master/src/bcrypt.cpp
|
||||||
|
https://github.com/TaojingCoin-pd/Taojingcoin/blob/master/src/bcrypt.h
|
||||||
|
|
||||||
|
|
||||||
|
scrypt-n
|
||||||
|
https://github.com/scr34m/vertcoin_scrypt
|
||||||
|
https://github.com/ahmedbodi/stratum-mining/tree/NScrypt
|
||||||
|
|
||||||
|
|
||||||
|
max
|
||||||
|
https://github.com/Prydie/maxcoin-hash-python
|
||||||
|
https://github.com/ahmedbodi/stratum-mining-maxcoin
|
||||||
54
lib/pool.js
54
lib/pool.js
@ -1,6 +1,6 @@
|
|||||||
var events = require('events');
|
var events = require('events');
|
||||||
var async = require('async');
|
var async = require('async');
|
||||||
var bignum = require('bignum');
|
|
||||||
|
|
||||||
|
|
||||||
var varDiff = require('./varDiff.js');
|
var varDiff = require('./varDiff.js');
|
||||||
@ -14,7 +14,10 @@ var scrypt = require('scrypt256-hash');
|
|||||||
var quark = require('quark-hash');
|
var quark = require('quark-hash');
|
||||||
var scryptJane = require('scrypt-jane-hash');
|
var scryptJane = require('scrypt-jane-hash');
|
||||||
var x11 = require('x11-hash');
|
var x11 = require('x11-hash');
|
||||||
var keccak = require('keccak-hash');
|
//var keccak = require('keccak-hash');
|
||||||
|
var SHA3 = require('sha3');
|
||||||
|
|
||||||
|
var bignum = require('bignum');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Main pool object. It emits the following events:
|
* Main pool object. It emits the following events:
|
||||||
@ -44,10 +47,12 @@ var pool = module.exports = function pool(options, authorizeFn){
|
|||||||
|
|
||||||
|
|
||||||
//Which number to use as dividend when converting difficulty to target
|
//Which number to use as dividend when converting difficulty to target
|
||||||
var maxDifficulty = bignum((function(){
|
|
||||||
|
var diffHex = (function(){
|
||||||
switch(options.coin.algorithm){
|
switch(options.coin.algorithm){
|
||||||
case 'sha256':
|
case 'sha256':
|
||||||
case 'skein':
|
case 'skein':
|
||||||
|
case 'hefty1':
|
||||||
return '00000000ffff0000000000000000000000000000000000000000000000000000';
|
return '00000000ffff0000000000000000000000000000000000000000000000000000';
|
||||||
case 'scrypt':
|
case 'scrypt':
|
||||||
case 'scrypt-jane':
|
case 'scrypt-jane':
|
||||||
@ -55,8 +60,12 @@ var pool = module.exports = function pool(options, authorizeFn){
|
|||||||
case 'quark':
|
case 'quark':
|
||||||
case 'keccak':
|
case 'keccak':
|
||||||
return '0000ffff00000000000000000000000000000000000000000000000000000000';
|
return '0000ffff00000000000000000000000000000000000000000000000000000000';
|
||||||
|
default:
|
||||||
|
emitErrorLog('The ' + options.coin.algorithm + ' hashing algorithm is not supported.');
|
||||||
|
throw new Error();
|
||||||
}
|
}
|
||||||
})(), 16);
|
})();
|
||||||
|
var maxDifficulty = bignum(diffHex, 16);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -66,46 +75,37 @@ var pool = module.exports = function pool(options, authorizeFn){
|
|||||||
case 'sha256':
|
case 'sha256':
|
||||||
return function(){
|
return function(){
|
||||||
return util.doublesha.apply(this, arguments);
|
return util.doublesha.apply(this, arguments);
|
||||||
}
|
};
|
||||||
case 'scrypt':
|
case 'scrypt':
|
||||||
return function(){
|
return function(){
|
||||||
return scrypt.digest.apply(this, arguments);
|
return scrypt.digest.apply(this, arguments);
|
||||||
}
|
};
|
||||||
case 'scrypt-jane':
|
case 'scrypt-jane':
|
||||||
return function(){
|
return function(){
|
||||||
return scryptJane.digest.apply(this, arguments);
|
return scryptJane.digest.apply(this, arguments);
|
||||||
}
|
};
|
||||||
case 'quark':
|
case 'quark':
|
||||||
return function(){
|
return function(){
|
||||||
return quark.digest.apply(this, arguments);
|
return quark.digest.apply(this, arguments);
|
||||||
}
|
};
|
||||||
case 'x11':
|
case 'x11':
|
||||||
return function(){
|
return function(){
|
||||||
return x11.digest.apply(this, arguments);
|
return x11.digest.apply(this, arguments);
|
||||||
}
|
};
|
||||||
case 'keccak':
|
case 'keccak':
|
||||||
return function(){
|
return function(headerBuff, nTimeInt){
|
||||||
return keccak.digest.apply(this, arguments);
|
var d = new SHA3.SHA3Hash(256);
|
||||||
}
|
d.update(headerBuff.toString('utf8') + nTimeInt.toString(), 'utf8');
|
||||||
|
return new Buffer(d.digest('hex'), 'hex');
|
||||||
|
};
|
||||||
case 'skein':
|
case 'skein':
|
||||||
return function(data){
|
return function(){
|
||||||
|
|
||||||
/*var dataString = data.slice(0, 80).toString('ascii');
|
};
|
||||||
var skeinHashed = skein(dataString);
|
|
||||||
|
|
||||||
var hash1 = crypto.createHash('sha256');
|
|
||||||
hash1.update(new Buffer(skeinHashed, 'hex'));
|
|
||||||
hash1 = hash1.digest();
|
|
||||||
|
|
||||||
return hash1;*/
|
|
||||||
|
|
||||||
//https://github.com/cruzrr/insanehash
|
|
||||||
//https://github.com/Crypto-Expert/stratum-mining/blob/master/lib/skein.py
|
|
||||||
}
|
|
||||||
default:
|
default:
|
||||||
return function(){
|
return function(){
|
||||||
console.log('Hashing algorithm ' + options.coin.algorithm + ' not supported');
|
console.log('Hashing algorithm ' + options.coin.algorithm + ' not supported');
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
|
|
||||||
@ -422,6 +422,8 @@ var pool = module.exports = function pool(options, authorizeFn){
|
|||||||
_this.daemon.init();
|
_this.daemon.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function WaitForSync(currentBlocks){
|
function WaitForSync(currentBlocks){
|
||||||
|
|
||||||
var generateProgress = function(currentBlocks){
|
var generateProgress = function(currentBlocks){
|
||||||
|
|||||||
@ -33,6 +33,7 @@
|
|||||||
"quark-hash": "https://github.com/zone117x/node-quark-hash/archive/master.tar.gz",
|
"quark-hash": "https://github.com/zone117x/node-quark-hash/archive/master.tar.gz",
|
||||||
"x11-hash": "https://github.com/zone117x/node-x11-hash/archive/master.tar.gz",
|
"x11-hash": "https://github.com/zone117x/node-x11-hash/archive/master.tar.gz",
|
||||||
"keccak-hash": "https://github.com/zone117x/node-keccak-hash/archive/master.tar.gz",
|
"keccak-hash": "https://github.com/zone117x/node-keccak-hash/archive/master.tar.gz",
|
||||||
|
"sha3": "*",
|
||||||
"bignum": "*",
|
"bignum": "*",
|
||||||
"base58-native": "*",
|
"base58-native": "*",
|
||||||
"async": "*"
|
"async": "*"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user