5 // BlockHeader contains the header information for a blockchain
6 // block. It satisfies the Entry interface.
8 func (BlockHeader) typ() string { return "blockheader" }
9 func (bh *BlockHeader) writeForHash(w io.Writer) {
10 mustWriteForHash(w, bh.Version)
11 mustWriteForHash(w, bh.Height)
12 mustWriteForHash(w, bh.PreviousBlockId)
13 mustWriteForHash(w, bh.TimestampMs)
14 mustWriteForHash(w, bh.TransactionsRoot)
15 mustWriteForHash(w, bh.AssetsRoot)
16 mustWriteForHash(w, bh.NextConsensusProgram)
17 mustWriteForHash(w, bh.ExtHash)
20 // NewBlockHeader creates a new BlockHeader and populates
22 func NewBlockHeader(version, height uint64, previousBlockID *Hash, timestampMS uint64, transactionsRoot, assetsRoot *Hash, nextConsensusProgram []byte) *BlockHeader {
26 PreviousBlockId: previousBlockID,
27 TimestampMs: timestampMS,
28 TransactionsRoot: transactionsRoot,
29 AssetsRoot: assetsRoot,
30 NextConsensusProgram: nextConsensusProgram,