Luke Dashjr
280486a748
Bugfix: Initialize temporary stratum work
...
Without this, work.mandatory might have been true skipping block change handling code
This caused newfound shares to be considered stale always, and bitforce devices to constantly restart work
2012-10-29 07:14:29 +00:00
Con Kolivas
90b1893746
Create a work item from a "clean" request from stratum allowing the new block to be detected and the appropriate block change message to be given.
2012-10-01 18:43:24 +10:00
Con Kolivas
b97a33a58a
Use statically allocated stratum strings in struct work to cope with the inability to safely deallocate dynamically allocated ram.
2012-10-01 14:44:44 +10:00
Con Kolivas
e93f679ae4
Use the current pool when deciding whether to reuse work from a stratum source rather than the work's previous pool.
2012-09-30 23:44:27 +10:00
Con Kolivas
6174c80678
Copy the stratum url to the rpc url to avoid none being set.
2012-09-30 23:36:05 +10:00
Con Kolivas
b5617734fa
Provide locking around stratum send operations to avoid races.
2012-09-30 23:10:43 +10:00
Con Kolivas
8baac0d66d
Submit shares from stratum through the abstracted submit share function detecting what message they belong to and showing the data from the associated work, and then deleting it from the hash.
2012-09-30 23:03:45 +10:00
Con Kolivas
fa4c9bf60f
Use a more robust mechanism to obtain a \n terminated string over a socket.
2012-09-30 22:40:41 +10:00
Con Kolivas
2de951518e
Abstract out share submit as a function to be useable by stratum.
2012-09-30 20:24:24 +10:00
Con Kolivas
739cba28a7
Rename parse_stratum to parse_method as it is only for stratum messages that contain methods.
2012-09-30 19:19:46 +10:00
Con Kolivas
b871f69f62
Display stratum as mechanism in status line when current pool is running it.
2012-09-30 19:13:50 +10:00
Con Kolivas
9180a557c3
Count each stratum notify as a getwork equivalent.
2012-09-30 19:11:22 +10:00
Con Kolivas
6593b89328
Correct nonce submitted with share.
2012-09-30 16:47:06 +10:00
Con Kolivas
41acd23d0f
Extranonce2 should be added before coinbase2.
2012-09-29 23:59:55 +10:00
Con Kolivas
fb987fd25a
We should be hashing the binary coinbase, not the hex one.
2012-09-29 19:15:58 +10:00
Con Kolivas
61360952f5
Fix endianness of nonce submitted for stratum.
2012-09-29 17:44:19 +10:00
Con Kolivas
aa6aa29c4d
Check that stratum is already active in initiate_stratum to avoid de-authorising ourselves by subscribing again.
2012-09-29 17:06:48 +10:00
Con Kolivas
fab9ff3cb7
Revert "Free stratum buffers added to the work struct when freeing work ram."
...
This reverts commit 13fdff6531a6586dadebff913d85252577fb5bb7.
Not always allocated... needs some more thought.
2012-09-29 16:10:44 +10:00
Con Kolivas
7415d7aaa0
Begin implementing a hash database of submissions and attempt sending results.
2012-09-29 16:10:13 +10:00
Con Kolivas
13fdff6531
Free stratum buffers added to the work struct when freeing work ram.
2012-09-29 15:13:18 +10:00
Con Kolivas
aa93fa336c
Copy parameters from stratum work required for share submission.
2012-09-29 15:02:23 +10:00
Con Kolivas
4a29759480
Set lagging flag on first adding a pool to prevent pool slow warning at startup.
2012-09-29 14:48:34 +10:00
Con Kolivas
73d61ca4c3
Fix work->target being a 32 byte binary in gen_stratum_work.
2012-09-29 14:25:21 +10:00
Con Kolivas
ac47f7f3a6
Store and display stripped url in its own variable.
2012-09-29 14:16:16 +10:00
Con Kolivas
3db6fb4fac
Create machinery to divert work requests to stratum.
2012-09-29 13:07:00 +10:00
Con Kolivas
636f4b14d7
Generate the work target in gen_stratum_work, setting default diff to 1 in case it is not yet set.
2012-09-29 11:38:52 +10:00
Con Kolivas
2e9ade14a9
Generate work data, midstate and hash1 in gen_stratum_work.
2012-09-29 11:12:59 +10:00
Con Kolivas
e1468cc5fd
Generate header created from stratum structures in gen_stratum_work.
2012-09-29 11:02:25 +10:00
Con Kolivas
5c74be5930
Generate merkle root hash in gen_stratum_work.
2012-09-29 10:30:56 +10:00
Con Kolivas
1f6fe55152
Generate the coinbase for generation of stratum based work.
2012-09-29 02:16:22 +10:00
Con Kolivas
1f64491f62
The number of transactions is variable so make merkle a variable length dynamically allocated array and track how many there are for stratum.
2012-09-29 01:48:01 +10:00
Con Kolivas
1221a80d41
Rename nonce2 to n2size reflecting that it's a size variable and not the actual nonce.
2012-09-29 01:03:23 +10:00
Con Kolivas
54ab28fd6e
Provide rudimentary support for stratum clean work command in the stratum thread.
2012-09-29 00:38:09 +10:00
Con Kolivas
04551445f6
Cope with pools being removed in the stratum thread.
2012-09-29 00:23:27 +10:00
Con Kolivas
0f1f2a62a6
Use the pool sock value directly in the stratum thread in case it changes after reconnecting.
2012-09-28 18:04:28 +10:00
Con Kolivas
56255a0c86
Create a stratum thread per pool that has stratum that monitors the socket and serves received data.
2012-09-28 18:01:33 +10:00
Con Kolivas
31c3759ecd
Check return value of stratum_parse.
2012-09-28 10:37:42 +10:00
Con Kolivas
ac9a4378d1
Complete authorisation in stratum.
2012-09-28 10:31:45 +10:00
Con Kolivas
331026595f
Implement stratum parsing of notify parameters and storing them in the pool stratum work structure.
2012-09-28 10:18:58 +10:00
Con Kolivas
9d4a44e88e
Create helper functions for duplicating json strings to avoid keeping json references in use.
2012-09-28 09:57:42 +10:00
Con Kolivas
b86a893981
Append \n in the sock_send function instead of adding it when constructing json in stratum.
2012-09-28 05:30:36 +10:00
Con Kolivas
d416d22381
Don't keep any json references around with stratum structures.
2012-09-28 05:26:29 +10:00
Con Kolivas
7e2dcc6fff
Create parse_stratum function that hands off stratum parameters to other functions to manage pool stratum work struct variables.
...
Implement mining difficulty setting.
2012-09-28 05:16:52 +10:00
Con Kolivas
a6f1a62220
Create helper functions for checking when a socket is ready to read on and receive a single line at a time.
...
Begin stratum authorisation process.
2012-09-28 04:35:16 +10:00
Con Kolivas
07e6bd1262
Provide a helper function for reading a single \n terminated string from a socket.
2012-09-27 13:50:05 +10:00
Con Kolivas
64df34cd4e
Create a stratum work structure to store current work variables.
2012-09-27 13:26:09 +10:00
Con Kolivas
30b665f021
Test specifically for stratum being active in pool_active.
2012-09-27 13:01:12 +10:00
Con Kolivas
f6f43500c0
Detect stratum in common place when adding urls, and use a bool to tell us when it's active.
2012-09-27 09:06:56 +10:00
Con Kolivas
8fd149eec9
Fix warnings.
2012-09-26 16:51:08 +10:00
Con Kolivas
e3f1b02e9a
Extract and store various parameters on stratum init confirming successful mining notify.
2012-09-26 16:49:51 +10:00