Documentation
¶
Overview ¶
Package block implements the roothash block and header.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Block ¶
type Block struct {
// Header is the block header.
Header Header `json:"header"`
}
Block is an Oasis block.
Keep this in sync with /runtime/src/common/roothash.rs.
type Header ¶
type Header struct {
// Version is the protocol version number.
Version uint16 `json:"version"`
// Namespace is the header's chain namespace.
Namespace common.Namespace `json:"namespace"`
// Round is the block round.
Round uint64 `json:"round"`
// Timestamp is the block timestamp (POSIX time).
Timestamp Timestamp `json:"timestamp"`
// HeaderType is the header type.
HeaderType HeaderType `json:"header_type"`
// PreviousHash is the previous block hash.
PreviousHash hash.Hash `json:"previous_hash"`
// IORoot is the I/O merkle root.
IORoot hash.Hash `json:"io_root"`
// StateRoot is the state merkle root.
StateRoot hash.Hash `json:"state_root"`
// MessagesHash is the hash of emitted runtime messages.
MessagesHash hash.Hash `json:"messages_hash"`
// InMessagesHash is the hash of processed incoming messages.
InMessagesHash hash.Hash `json:"in_msgs_hash"`
}
Header is a block header.
Keep this in sync with /runtime/src/common/roothash.rs.
func (*Header) EncodedHash ¶
EncodedHash returns the encoded cryptographic hash of the header.
type HeaderType ¶
type HeaderType uint8
HeaderType is the type of header.
const ( // Invalid is an invalid header type and should never be stored. Invalid HeaderType = 0 // Normal is a normal header. Normal HeaderType = 1 // RoundFailed is a header resulting from a failed round. Such a // header contains no transactions but advances the round as normal // to prevent replays of old commitments. RoundFailed HeaderType = 2 // EpochTransition is a header resulting from an epoch transition. // // Such a header contains no transactions but advances the round as // normal. // TODO: Consider renaming this to CommitteeTransition. EpochTransition HeaderType = 3 // Suspended is a header resulting from the runtime being suspended. // // Such a header contains no transactions but advances the round as // normal. Suspended HeaderType = 4 )
type Timestamp ¶
type Timestamp uint64
Timestamp is a custom time stamp type that encodes like time.Time when marshaling to text.
func (Timestamp) MarshalText ¶
MarshalText encodes a Timestamp to text by converting it from Unix time to local time.
func (*Timestamp) UnmarshalText ¶
UnmarshalText decodes a text slice into a Timestamp.
Click to show internal directories.
Click to hide internal directories.