Skip to content

Commit b7bb603

Browse files
committed
replaced getwork with ajax request to get work from json feed
1 parent 180539b commit b7bb603

File tree

1 file changed

+35
-36
lines changed

1 file changed

+35
-36
lines changed

work-manager.js

+35-36
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,35 @@
11
function begin_mining()
22
{
3-
var job = get_work();
4-
job.start_date = new Date().getTime();
3+
$.ajax({
4+
url: "getwork.php",
5+
cache: false,
6+
success: function(data){
7+
var response = JSON.parse(data);
8+
9+
var job = {};
10+
11+
job.midstate = hexstring_to_binary(response.midstate);
12+
job.data = hexstring_to_binary(response.data);
13+
job.hash1 = hexstring_to_binary(response.hash1);
14+
job.target = hexstring_to_binary(response.target);
15+
16+
// Remove the first 512-bits of data, since they aren't used
17+
// in calculating hashes.
18+
job.data = job.data.slice(16);
19+
20+
// Set startdate
21+
job.start_date = new Date().getTime();
22+
23+
var worker = new Worker("miner.js");
24+
worker.onmessage = onWorkerMessage;
25+
worker.onerror = onWorkerError;
26+
worker.postMessage(job);
27+
28+
}
29+
});
30+
31+
532

6-
var worker = new Worker("miner.js");
7-
worker.onmessage = onWorkerMessage;
8-
worker.onerror = onWorkerError;
9-
worker.postMessage(job);
1033
}
1134

1235
function onWorkerMessage(event) {
@@ -16,7 +39,9 @@ function onWorkerMessage(event) {
1639
if(job.golden_ticket !== false) {
1740
$('#golden-ticket').val(job.golden_ticket);
1841

19-
// TODO: Submit Work
42+
// Submit Work using AJAX.
43+
$.post("submitwork.php", { golden_ticket: job.golden_ticket } );
44+
2045
}
2146
else {
2247
// :'( it was just an update
@@ -31,34 +56,6 @@ function onWorkerError(event) {
3156
throw event.data;
3257
}
3358

34-
35-
function get_work()
36-
{
37-
var workrequest = "{\"method\": \"getwork\", \"params\": \[\], \"id\":0}\r\n";
38-
var response = "{\"result\":{\"midstate\":\"fd8c924ed9a07c7d6dd49c1079429142d94cf99d6bb978e123190d5
39-
2fbf8ef6f\",\"data\":\"0000000116237c0c0d1baffc50d4bf2a19bf5bc6fbf381c26bac4a0a0000db4\
40-
0000000008108b0619305607e7f04634ffe7ef35294970d5656694c6b7a0ef3b07b87e9ac4d8d90321b00\
41-
f3390000000000000080000000000000000000000000000000000000000000000000000000000000000000\
42-
0000000000000080020000\",\"hash1\":\"000000000000000000000000000000000000\
43-
00000000000000000000000000000000008000000000000000000000000000000000000000000000\
44-
000000010000\",\"target\":\"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
45-
00000000\"},\"error\":null,\"id\":0}";
46-
47-
var response = JSON.parse(response)
48-
var job = {};
49-
50-
job.midstate = hexstring_to_binary(response.result.midstate);
51-
job.data = hexstring_to_binary(response.result.data);
52-
job.hash1 = hexstring_to_binary(response.result.hash1);
53-
job.target = hexstring_to_binary(response.result.target);
54-
55-
// Remove the first 512-bits of data, since they aren't used
56-
// in calculating hashes.
57-
job.data = job.data.slice(16);
58-
59-
return job
60-
}
61-
6259
// Given a hex string, returns an array of 32-bit integers
6360
// Data is assumed to be stored least-significant byte first (in the string)
6461
function hexstring_to_binary(str)
@@ -84,4 +81,6 @@ function hex_to_byte(hex)
8481
}
8582

8683

87-
84+
window.onload = function(){
85+
begin_mining();
86+
}

0 commit comments

Comments
 (0)