@@ -111,6 +111,7 @@ class CPUMiner { | |||
} | |||
async startWork(work) { | |||
console.log("Starting work", work.id); | |||
if (this.exnounce1 == null) { | |||
console.log("Ignoring work because extranounce is null."); | |||
return false; |
@@ -12,7 +12,7 @@ coinb2 = Buffer.from(coinb2, "hex"); | |||
exnounce1 = Buffer.from(exnounce1, "hex"); | |||
exnounce2 = Buffer.from(exnounce2, "hex"); | |||
difficulty = 3; | |||
difficulty = 5; | |||
var hashes = 0; | |||
var sd = new Date().getTime(); |
@@ -17,7 +17,13 @@ class RPCConn { | |||
}); | |||
var onjson = json => { | |||
var obj = JSON.parse(json); | |||
var obj; | |||
try { | |||
obj = JSON.parse(json); | |||
} catch (err) { | |||
console.log("Failed to parse JSON: '"+json+"'"); | |||
throw err; | |||
} | |||
if (obj.id == null) { | |||
var listeners = this._listeners[obj.method]; | |||
@@ -37,14 +43,17 @@ class RPCConn { | |||
cb(obj.error, obj.result); | |||
} | |||
//Digest JSON lines as they come, but only if they're a whole line | |||
var currdata = ""; | |||
this.sock.on("data", d => { | |||
var s = d.toString(); | |||
currdata += d; | |||
if (s.indexOf("\n") !== -1) { | |||
currdata.split("\n").filter(l => l !== "").forEach(onjson); | |||
currdata = ""; | |||
currdata += s; | |||
var arr = s.split("\n"); | |||
while (arr[1] != null) { | |||
onjson(arr.shift()); | |||
arr.shift(); | |||
} | |||
currdata = arr[0] || ""; | |||
}); | |||
} | |||
@@ -15,7 +15,7 @@ class StratumClient { | |||
} | |||
async startWork() { | |||
this.log("Starting work"); | |||
this.log("Starting work", this.work.id); | |||
var res; | |||
try { | |||
res = await this.miner.startWork(this.work); | |||
@@ -51,6 +51,7 @@ class StratumClient { | |||
}); | |||
var sub = await this.rpc.call("mining.subscribe"); | |||
this.log("Got nounce", sub[1]); | |||
this.miner.setNounce(sub[1], sub[2]); | |||
if (--this.waitFor == 0) | |||
this.startWork(); | |||
@@ -61,7 +62,7 @@ class StratumClient { | |||
if (!success) | |||
throw new Error("Incorrect username/password."); | |||
console.log("Authenticated "+user+"."); | |||
this.log("Authenticated "+user+"."); | |||
} | |||
writePayload() { |
@@ -2,7 +2,6 @@ | |||
"name": "stratum-test", | |||
"version": "1.0.0", | |||
"lockfileVersion": 1, | |||
"requires": true, | |||
"dependencies": { | |||
"bindings": { | |||
"version": "1.3.0", |