github.com/bytom/bytom@v1.1.2-0.20221014091027-bbcba3df6075/protocol/bc/blockheader.go (about)

     1  package bc
     2  
     3  import "io"
     4  
     5  // BlockHeader contains the header information for a blockchain
     6  // block. It satisfies the Entry interface.
     7  func (BlockHeader) typ() string { return "blockheader" }
     8  func (bh *BlockHeader) writeForHash(w io.Writer) {
     9  	mustWriteForHash(w, bh.Version)
    10  	mustWriteForHash(w, bh.Height)
    11  	mustWriteForHash(w, bh.PreviousBlockId)
    12  	mustWriteForHash(w, bh.Timestamp)
    13  	mustWriteForHash(w, bh.TransactionsRoot)
    14  }
    15  
    16  // NewBlockHeader creates a new BlockHeader and populates
    17  // its body.
    18  func NewBlockHeader(version, height uint64, previousBlockID *Hash, timestamp uint64, transactionsRoot *Hash) *BlockHeader {
    19  	return &BlockHeader{
    20  		Version:          version,
    21  		Height:           height,
    22  		PreviousBlockId:  previousBlockID,
    23  		Timestamp:        timestamp,
    24  		TransactionsRoot: transactionsRoot,
    25  	}
    26  }