Jack Grigg
51eb5273f5
Equihash: Pass each obtained solution to a callback for immediate checking
...
Closes #1143
2016-07-27 19:15:49 +12:00
Jack Grigg
215b9e139d
Use std::shared_ptr to deallocate partialSolns automatically
2016-07-23 00:31:47 +12:00
Jack Grigg
1655db285d
Move initialisations to simplify cancelled checks
2016-07-22 23:54:14 +12:00
Jack Grigg
5b4ebcd5e2
Add tests that exercise the cancellation code branches
2016-07-21 16:39:32 +12:00
Jack Grigg
2dbabb1159
Make Equihash solvers cancellable
...
The miner only cancels the solver when chainActive.Tip() changes.
Closes #1055
2016-07-20 19:17:02 +12:00
Jack Grigg
d07cf62991
Speed up FullStepRow index comparison by leveraging big-endian byte layout
2016-06-11 16:28:57 +12:00
Jack Grigg
ae37d2a4cd
Increase Equihash parameters to n = 96, k = 3 (about 430 MiB)
...
Includes a tweak to set the fixed-width of the rows based on whether the first
or last round is widest. This is necessary for some parameters, these ones
included.
2016-06-11 12:15:25 +12:00
Jack Grigg
447444ae7a
Fix nits after review
2016-06-01 23:15:04 +12:00
Jack Grigg
d4d76536a5
Use fixed-width array for storing hash and indices
2016-05-24 23:16:53 +12:00
Jack Grigg
29d9986c83
Store full indices in the same char* as the hash
2016-05-24 23:16:52 +12:00
Jack Grigg
639c40047f
Use comparator object for sorting StepRows
2016-05-24 23:16:52 +12:00
Jack Grigg
a683cc85d9
Merge *StepRow XOR and trimming operations
2016-05-24 23:16:52 +12:00
Jack Grigg
e95747288a
Use template parameters to statically initialise Equihash
2016-05-24 23:16:50 +12:00
Jack Grigg
39f5cb35f9
Store truncated indices in the same char* as the hash (H/T tromp for the idea!)
2016-05-24 12:02:46 +12:00
Jack Grigg
c92c1f6050
Implement index-truncation Equihash optimisation
2016-05-24 12:02:46 +12:00
Jack Grigg
a3361e778b
Refactor StepRow to make optimisation easier
2016-05-24 12:02:08 +12:00
Jack Grigg
6d25662f25
Implement validator and basic solver for Equihash
2016-04-08 13:56:00 +12:00