parser: implement Compact Block encoding from ZIP307

This commit is contained in:
George Tankersley
2018-11-17 00:37:31 +00:00
parent 7736b2464b
commit 7cc7095a81
5 changed files with 172 additions and 0 deletions

View File

@@ -175,3 +175,19 @@ func (hdr *blockHeader) GetHash() []byte {
hdr.cachedHash = digest[:]
return hdr.cachedHash
}
// getEncodableHash returns the bytes of a block hash in little-endian wire order.
func (hdr *blockHeader) getEncodableHash() []byte {
serializedHeader, err := hdr.MarshalBinary()
if err != nil {
log.Fatalf("error marshaling block header: %v", err)
return nil
}
// SHA256d
digest := sha256.Sum256(serializedHeader)
digest = sha256.Sum256(digest[:])
return digest[:]
}