Bounty for Implementation of Equihash [$500 Steem Dollars]

I am looking for someone to extract the code from Zcash for performing the EquiHash proof of work into something that can be easily re-used in other programs. I am looking for a library with the API:

namespace equihash {
  optional<proof> mine( char source[32],
                        int64_t start_nonce, uint32_t range )
  bool validate( char source[32], int64_t nonce, const proof& p )
}

The library should be a single-threaded implementation. The API described above can be tweaked / adjusted if necessary, but its overall complexity should not change. The library can depend only on Open SSL, C++11, and Boost.

The final product should be a new github repo that can be built with CMake on Linux and OS X.

Here is the Pull Request that added Equihash to Zcash https://github.com/zcash/zcash/pull/851

If there are multiple submissions I will pick the best in my opinion.

H2
H3
H4
3 columns
2 columns
1 column
62 Comments