return root; | return root; | ||||
} | } | ||||
function hashLbry(blockHeader){ | |||||
//double sha256 | |||||
var hash = doublesha(blockHeader) | |||||
// sha 512 | |||||
//ripemd160 | |||||
// double sha256 | |||||
return hash; | |||||
} | |||||
/* Run sha256 twice on a buffer. | /* Run sha256 twice on a buffer. | ||||
* | * | ||||
* Returns: | * Returns: |
exnounce1 = Buffer.from(exnounce1, "hex"); | exnounce1 = Buffer.from(exnounce1, "hex"); | ||||
exnounce2 = Buffer.from(exnounce2, "hex"); | exnounce2 = Buffer.from(exnounce2, "hex"); | ||||
//stratnum difficulty = nbits "encoded current network difficulty" | |||||
difficulty = 5; | difficulty = 5; | ||||
var hashes = 0; | var hashes = 0; | ||||
cryptutil.createCoinbase(exnounce1, exnounce2, coinb1, coinb2); | cryptutil.createCoinbase(exnounce1, exnounce2, coinb1, coinb2); | ||||
var cbHash = cryptutil.createCbHash(coinbase); | var cbHash = cryptutil.createCbHash(coinbase); | ||||
//build merkle root | |||||
//create block header | |||||
//check block header starts with 0000 | |||||
var success = true; | var success = true; | ||||
for (var i = 0; i < difficulty; ++i) { | for (var i = 0; i < difficulty; ++i) { | ||||
if (cbHash[i] !== 0) { | if (cbHash[i] !== 0) { | ||||
if (success) { | if (success) { | ||||
console.log("o"+cbHash.toString("hex")); | console.log("o"+cbHash.toString("hex")); | ||||
//send hash back to server | |||||
process.exit(0); | process.exit(0); | ||||
} | } | ||||
var CPUMiner = require("./js/miner-cpu"); | var CPUMiner = require("./js/miner-cpu"); | ||||
var ASICMiner = require("./js/miner-asic"); | var ASICMiner = require("./js/miner-asic"); | ||||
var domain = "stratum.slushpool.com" | |||||
var port = 3333; | |||||
var domain = "lbry.suprnova.cc" | |||||
var port = 6256; | |||||
async function main() { | async function main() { | ||||
dns.lookup(domain, async (err, ip) => { | dns.lookup(domain, async (err, ip) => { | ||||
var c = new StratumClient(ip, port, m); | var c = new StratumClient(ip, port, m); | ||||
try { | try { | ||||
await c.connect(); | await c.connect(); | ||||
await c.auth("mort96.worker1", "test"); | |||||
await c.auth("kattemjau.test", "test"); | |||||
} catch (err) { | } catch (err) { | ||||
console.log(err); | console.log(err); | ||||
process.exit(1); | process.exit(1); |