tromp / cuckoo

a memory-bound graph-theoretic proof-of-work system

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Suggestion: Refactor solvers to share main function

casey opened this issue · comments

I would suggest refactoring the solvers to share a single main function. Benefits would be:

  • I found a bug in #72 which had been copied into four different files, since they were part of the main function which is duplicated across multiple files.

  • If there was a single main function shared by all the solvers, features added to that main function wouldn't need to be copied to all the main function.

Also, it would be an opportunity to rewrite the main function in rust, because why not :)

Additionally, if the main function was separated from the solvers, individual solvers could be statically linked into other programs where the flexibility of dynamic linking isn't required.

Separating the main functions is on the todo list.
There's also a huge amount of overlap between cuckoo and cuckatoo solvers.
Eventually I will try to merge those back into one, with just a compile time option to choose.