Store the Equihash solution in minimal representation in the block header

The genesis blocks and miner tests have been regenerated, because changing the
block header serialisation format changes the block hash, and thus validity.

The Equihash solutions have been removed from the bloom test inputs for
simplicity (block validity is not checked there; only a valid serialisation is
necessary).
This commit is contained in:
Jack Grigg
2016-08-14 15:04:13 +12:00
parent 20abe2083c
commit 5be6abbf84
15 changed files with 284 additions and 230 deletions

View File

@@ -188,8 +188,8 @@ Value generate(const Array& params, bool fHelp)
pblock->nNonce.size());
// (x_1, x_2, ...) = A(I, V, n, k)
std::function<bool(std::vector<eh_index>)> validBlock =
[&pblock](std::vector<eh_index> soln) {
std::function<bool(std::vector<unsigned char>)> validBlock =
[&pblock](std::vector<unsigned char> soln) {
pblock->nSolution = soln;
return CheckProofOfWork(pblock->GetHash(), pblock->nBits, Params().GetConsensus());
};