OSDN Git Service

Added blockchain struct.
[bytom/bytom.git] / protocol / bc / txheader.go
1 package bc
2
3 import "io"
4
5 // TxHeader contains header information for a transaction. Every
6 // transaction on a blockchain contains exactly one TxHeader. The ID
7 // of the TxHeader is the ID of the transaction. TxHeader satisfies
8 // the Entry interface.
9
10 func (TxHeader) typ() string { return "txheader" }
11 func (h *TxHeader) writeForHash(w io.Writer) {
12         mustWriteForHash(w, h.Version)
13         mustWriteForHash(w, h.ResultIds)
14         mustWriteForHash(w, h.Data)
15         mustWriteForHash(w, h.MinTimeMs)
16         mustWriteForHash(w, h.MaxTimeMs)
17         mustWriteForHash(w, h.ExtHash)
18 }
19
20 // NewTxHeader creates an new TxHeader.
21 func NewTxHeader(version uint64, resultIDs []*Hash, data *Hash, minTimeMS, maxTimeMS uint64) *TxHeader {
22         return &TxHeader{
23                 Version:   version,
24                 ResultIds: resultIDs,
25                 Data:      data,
26                 MinTimeMs: minTimeMS,
27                 MaxTimeMs: maxTimeMS,
28         }
29 }