103 Commits

Author SHA1 Message Date
johnny9
67babe7145 bm1397: fix problems with unit test on multiple runs 2023-07-01 14:20:48 -04:00
johnny9
f123430a7d bm1397: update job test case values 2023-07-01 14:20:48 -04:00
johnny9
f46ae9694b bm1397: extra module to own component
Create an idf component for the bm1387 module and add a basic
test to verify that a bm1397 can produce a good nonce. bm1397
is also added to the list of tests under the unit test runner
component.
2023-07-01 14:20:48 -04:00
johnny9
ee04e437be stratum: don't try to check mining.suggest_difficulty result
Current implementation has a race condition with the first
mining.notify message and can cause the miner to take a long time
to start if it misses that message.
2023-07-01 14:19:51 -04:00
johnny9
f6f7f39886 chore: remove excess logging 2023-07-01 14:19:51 -04:00
johnny9
6b5e5b98f7 stratum: fix extranonce 2 generation when length > 4 2023-07-01 14:19:51 -04:00
johnny9
3d6d27b101 stratum: add an additional test to validate bm_job construction 2023-07-01 14:19:51 -04:00
johnny9
d583332f3b stratum: add additional test for test_nonce_value 2023-07-01 14:19:51 -04:00
johnny9
b9858777b0 stratum: move prettyHex and flip32 into utils 2023-07-01 14:19:51 -04:00
johnny9
d23a106a65 mining: add test to check nonce diff
Test unconvered issues in the construction of the header
when hashing as well as issues with converting the hash to
a double.
2023-07-01 14:19:51 -04:00
johnny9
6bac906333 mining: fix extranonce_2_generate function definition 2023-07-01 14:19:51 -04:00
johnny9
278d948f10 mining: fix bm_job construction test 2023-07-01 14:19:51 -04:00
johnny9
da4fad9dab Revert "proper midstates are back!"
This reverts commit bf4715b58ffbf5bcd2d2000fe40376fb7ccec9d1.
2023-07-01 14:19:51 -04:00
johnny9
20ed65279b Revert "reverted ticket_mask. tried testing nonces nerdminer style"
This reverts commit eee399324d8e6caa1a7e51da3336dc84069c75c7.
2023-07-01 14:19:51 -04:00
johnny9
b7a18871a7 Revert "cleaned up debug messages and hex printing a bit. still not checking nonces right"
This reverts commit ea0d14966264e9bc15630419e79f6283e30af40c.
2023-07-01 14:19:51 -04:00
johnny9
e27d9e32c8 Revert "added nonce checking fixes from @johnny9"
This reverts commit 2b06b3f4d7e290452fd082fdc1387246677ba860.
2023-07-01 14:19:51 -04:00
Skot Croshere
fda3a36204 shorten the header debug and some others 2023-07-01 14:19:51 -04:00
Skot Croshere
3bdfd6d32d setup for running unit tests. press cmd-sft-p "test" 2023-07-01 14:19:51 -04:00
Skot Croshere
de237e1d34 added nonce checking fixes from @johnny9 2023-07-01 14:19:51 -04:00
Skot Croshere
61ed3c1c97 cleaned up debug messages and hex printing a bit. still not checking nonces right 2023-07-01 14:19:51 -04:00
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