ouroboros-consensus-protocol-0.1.0.0: Cardano consensus protocols.

Description

The choice of whether to associate the header with the ledger era or the protocol is a little artitrary. Functionally the header contains things which are associated with both ledger and protocol, and which are used by both.

We choose to associate the header with the protocol, since it more strongly binds in that direction, and to assist with the mental picture that the protocol is concerned with the block header, while the ledger is concerned with the block body. However, in order to more cleanly illustrate which parts of the header are _strictly_ protocol concerns, we also provide a view of the header (in Views) which extracts just the fields needed for the Praos protocol. This also allows us to hide the more detailed construction of the header.

Synopsis

# Documentation

data Header crypto where Source #

Full header type, carrying its own memoised bytes.

Bundled Patterns

#### Instances

Instances details

The body of the header is the part which gets hashed to form the hash chain.

Constructors

 HeaderBody FieldshbBlockNo ∷ !BlockNoblock numberhbSlotNo ∷ !SlotNoblock slothbPrev ∷ !(PrevHash crypto)Hash of the previous block headerhbVk ∷ !(VKey 'BlockIssuer crypto)verification key of block issuerhbVrfVk ∷ !(VerKeyVRF crypto)VRF verification key for block issuerhbVrfRes ∷ !(CertifiedVRF crypto InputVRF)Certified VRF valuehbBodySize ∷ !Word32Size of the block bodyhbBodyHash ∷ !(Hash crypto EraIndependentBlockBody)Hash of block bodyhbOCert ∷ !(OCert crypto)operational certificatehbProtVer ∷ !ProtVerprotocol version

#### Instances

Instances details