133 Commits

Author SHA1 Message Date
Skot Croshere
3f79ff615e reverted ticket_mask. tried testing nonces nerdminer style 2023-07-01 14:19:51 -04:00
Skot Croshere
f00ef85016 proper midstates are back! 2023-07-01 14:19:51 -04:00
johnny9
1ab923dae0 stratum: remove json buffer logging 2023-07-01 14:19:51 -04:00
Skot Croshere
ccb094a916 fix some warnings. trying to check nonce diff -- it's not working. 2023-07-01 14:19:51 -04:00
Skot Croshere
9927e2995b added suggest_difficulty 2023-07-01 14:19:51 -04:00
johnny9
9cf8ee9b3b miner: generate more bm_jobs using extranonce 2 2023-07-01 14:19:51 -04:00
johnny9
9c9c1ad540 stratum: add method to free bm_job struct 2023-07-01 14:19:51 -04:00
johnny9
8cf78d58cc stratum: add methods for extranonce_2 generation 2023-07-01 14:19:51 -04:00
johnny9
e246a84c86 stratum: add mining.set_difficulty message parse 2023-07-01 14:19:51 -04:00
johnny9
24010c3fe8 bm1397: update midstate construction test with proper values
Midstate test has been updated with known working values from
a bm1397 job command. Additional adjustment was also made to the
bm_job construction method that changed the endianess of the
merkle root.
2023-07-01 14:19:51 -04:00
johnny9
5d4733ec34 stratum: fix coinbase construction tests
The api for construct_coinbase_tx changed and now takes the extranonce
2 as a parameter instead of the length.
2023-07-01 14:19:51 -04:00
Skot Croshere
3e3ba6d98e flip the byte order of the midstate 2023-07-01 14:18:41 -04:00
Skot Croshere
4cf368864e added a midstate sha256 function 2023-07-01 14:18:41 -04:00
johnny9
27b24d3c3e bm1397: integrate with stratum WIP 2023-07-01 14:18:41 -04:00
johnny9
939aee42ee mining: add an additional merkle calc test 2023-07-01 14:18:41 -04:00
johnny9
bad72d638a mining: swap endianess of prevblockhash when computing midstate 2023-07-01 14:18:41 -04:00
johnny9
f80805f53a stratum_api: add method to check if previous work should be abandoned 2023-07-01 14:18:41 -04:00
johnny9
225126708c main: add bm_job construction to mining task 2023-07-01 14:18:41 -04:00
johnny9
1118d01ba5 mining: add script for generating verification data for tests 2023-07-01 14:18:41 -04:00
johnny9
56958f88a2 mining: fix warning on arugment type for single_sha256 2023-07-01 14:18:41 -04:00
johnny9
bbd2ebe249 mining: fix endianness of the block header version 2023-07-01 14:18:41 -04:00
johnny9
901d2da341 stratum_api: parse the uint32_t values from the mining.notify message 2023-07-01 14:18:41 -04:00
johnny9
83ad62322a stratum_api: free job_id string 2023-07-01 14:18:41 -04:00
johnny9
ca827ee4b5 mining: construct a job for bm13xx 2023-07-01 14:18:41 -04:00
johnny9
ac9a121a3c mining: fix memory leak in merkle root calculation 2023-07-01 14:18:41 -04:00
johnny9
812e4213c1 stratum_api: cleanup notify parsing
Split parsing into two steps, one for the method and one for the
params themselves. Currently it is up to the miner task to grab
the parameters in the format it needs.
2023-07-01 14:18:41 -04:00
johnny9
abf914648f mining: fix coinbase tx concatenation 2023-07-01 14:18:41 -04:00
johnny9
f98cbf208b mining: fix merkle root calculation and add unit test 2023-07-01 14:18:41 -04:00
johnny9
1c21a43cc5 mining: add merkle root calculation 2023-07-01 14:18:41 -04:00
johnny9
23e588c94e utils: add double sha256 method 2023-07-01 14:18:41 -04:00
johnny9
10fc3d017e mining: add method to construct coinbase tx 2023-07-01 14:18:41 -04:00
johnny9
799d00dc2b stratum: parse extranonce and extranonce2_len from subscribe result 2023-07-01 14:18:41 -04:00
johnny9
3066edb7f1 Make stratum module testable and introduce first unit test 2023-07-01 14:18:41 -04:00