81 lines
2.6 KiB
JavaScript
81 lines
2.6 KiB
JavaScript
var scrypt = require('scrypt256-hash');
|
|
var quark = require('quark-hash');
|
|
var scryptJane = require('scrypt-jane-hash');
|
|
var x11 = require('x11-hash');
|
|
var keccak = require('keccak-hash');
|
|
var SHA3 = require('sha3');
|
|
var util = require('./util.js');
|
|
|
|
global.algos = {
|
|
'sha256': {
|
|
diff: '00000000ffff0000000000000000000000000000000000000000000000000000',
|
|
hash: function(){
|
|
return util.doublesha.apply(this, arguments);
|
|
}
|
|
},
|
|
'scrypt': {
|
|
diff: '0000ffff00000000000000000000000000000000000000000000000000000000',
|
|
hash: function(){
|
|
return scrypt.digest.apply(this, arguments);
|
|
}
|
|
},
|
|
'scrypt-jane': {
|
|
diff: '0000ffff00000000000000000000000000000000000000000000000000000000',
|
|
hash: function(){
|
|
return scryptJane.digest.apply(this, arguments);
|
|
}
|
|
},
|
|
'x11': {
|
|
diff: '0000ffff00000000000000000000000000000000000000000000000000000000',
|
|
hash: function(){
|
|
return x11.digest.apply(this, arguments);
|
|
}
|
|
},
|
|
quark: {
|
|
diff: '000000ffff000000000000000000000000000000000000000000000000000000',
|
|
hash: function(){
|
|
return quark.digest.apply(this, arguments);
|
|
}
|
|
},
|
|
'keccak': {
|
|
//CBigNum(~uint256(0) >> 24) is nBits so we should try to calculate it..
|
|
//https://github.com/wecoin/wecoin/blob/master/src/main.cpp#L44
|
|
//https://github.com/GalleonBank/galleon/blob/master/src/main.cpp#L51
|
|
diff: 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000',
|
|
hash: function(headerBuff, nTimeInt){
|
|
var a = new SHA3.SHA3Hash(256);
|
|
//a.update(headerBuff.toString('utf8') + nTimeInt.toString(), 'utf8');
|
|
a.update(headerBuff.toString('utf8'), 'utf8');
|
|
var round1 = new Buffer(a.digest('hex'), 'hex');
|
|
return round1.slice(0, 33);
|
|
/*var b = new SHA3.SHA3Hash(256);
|
|
b.update(round1.toString('utf8'), 'utf8');
|
|
var round2 = new Buffer(b.digest('hex'), 'hex');
|
|
return round2.slice(0, 33);*/
|
|
}
|
|
},
|
|
'skein': {
|
|
diff: '00000000ffff0000000000000000000000000000000000000000000000000000',
|
|
hash: function(){
|
|
|
|
}
|
|
},
|
|
'hefty1': {
|
|
diff: '00000000ffff0000000000000000000000000000000000000000000000000000',
|
|
hash: function(){
|
|
|
|
}
|
|
},
|
|
max: {
|
|
diff: 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000',
|
|
hash: function(){
|
|
|
|
}
|
|
},
|
|
fugue: {
|
|
diff: '0000ffff00000000000000000000000000000000000000000000000000000000',
|
|
hash: function(){
|
|
|
|
}
|
|
}
|
|
}; |