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

@@ -530,9 +530,9 @@ void static BitcoinMiner(CWallet *pwallet)
LogPrint("pow", "Running Equihash solver with nNonce = %s\n",
pblock->nNonce.ToString());
std::function<bool(std::vector<eh_index>)> validBlock =
std::function<bool(std::vector<unsigned char>)> validBlock =
[&pblock, &hashTarget, &pwallet, &reservekey, &m_cs, &cancelSolver, &chainparams]
(std::vector<eh_index> soln) {
(std::vector<unsigned char> soln) {
// Write the solution to the hash and compute the result.
LogPrint("pow", "- Checking solution against target\n");
pblock->nSolution = soln;