diff --git a/src/zcbenchmarks.cpp b/src/zcbenchmarks.cpp index 649297d3..6a6bf6ae 100644 --- a/src/zcbenchmarks.cpp +++ b/src/zcbenchmarks.cpp @@ -8,6 +8,8 @@ #include "crypto/equihash.h" #include "chainparams.h" #include "pow.h" +#include "sodium.h" +#include "streams.h" #include "zcbenchmarks.h" @@ -101,11 +103,22 @@ double benchmark_verify_joinsplit(const CPourTx &joinsplit) double benchmark_solve_equihash() { - const char *testing = "testing"; + CBlock pblock; + CEquihashInput I{pblock}; + CDataStream ss(SER_NETWORK, PROTOCOL_VERSION); + ss << I; + Equihash eh {Params(CBaseChainParams::MAIN).EquihashN(), Params(CBaseChainParams::MAIN).EquihashK()}; crypto_generichash_blake2b_state eh_state; eh.InitialiseState(eh_state); - crypto_generichash_blake2b_update(&eh_state, (const unsigned char*)testing, strlen(testing)); + crypto_generichash_blake2b_update(&eh_state, (unsigned char*)&ss[0], ss.size()); + + uint256 nonce; + randombytes_buf(nonce.begin(), 32); + crypto_generichash_blake2b_update(&eh_state, + nonce.begin(), + nonce.size()); + timer_start(); eh.BasicSolve(eh_state); return timer_stop();