bitcoin: Compute block hash while parsing

This avoids having to re-serialize the block header just to compute the
hash. It also frees us from having to carry around all the details in the
header and we can hand around a minimal version.
This commit is contained in:
Christian Decker 2020-01-23 13:38:13 +01:00
parent ccb895083f
commit 4de0d1ca22
2 changed files with 2 additions and 2 deletions

View file

@ -60,7 +60,7 @@ bitcoin_block_from_hex(const tal_t *ctx, const struct chainparams *chainparams,
b->hdr.nonce = pull_le32(&p, &len);
sha256_le32(&shactx, b->hdr.nonce);
}
sha256_double_done(&shactx, &b->hdr.hash);
sha256_double_done(&shactx, &b->hdr.hash.shad);
num = pull_varint(&p, &len);
b->tx = tal_arr(b, struct bitcoin_tx *, num);

View file

@ -23,7 +23,7 @@ struct bitcoin_block_hdr {
le32 timestamp;
le32 target;
le32 nonce;
struct sha256_double hash;
struct bitcoin_blkid hash;
};
struct elements_block_proof {