ouroboros-consensus
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Consensus.Node.Run

Description

Infrastructure required to run a node

The definitions in this module are independent from any specific protocol.

Synopsis

SerialiseDisk

SerialiseNodeToNode

class (ConvertRawHash blk, SerialiseNodeToNode blk blk, SerialiseNodeToNode blk (Header blk), SerialiseNodeToNode blk (Serialised blk), SerialiseNodeToNode blk (SerialisedHeader blk), SerialiseNodeToNode blk (GenTx blk), SerialiseNodeToNode blk (GenTxId blk), SerialiseNodeToNode blk (PerasVote blk), SerialiseNodeToNode blk (PerasCert blk)) ⇒ SerialiseNodeToNodeConstraints blk where Source #

Serialisation constraints needed by the node-to-node protocols

Methods

estimateBlockSize ∷ Header blk → SizeInBytes Source #

An upper bound on the size in bytes of the block corresponding to the header. This can be an overestimate, but not an underestimate.

The block fetch client uses this to estimate how bytes will be in flight. This is also used to limit the number of bytes accepted when downloading a block.

This is part of this class as it depends on the node-to-node serialisation format used for blocks.

SerialiseNodeToClient

RunNode

class (All (Top ∷ Type → Constraint) (HardForkIndices blk), LedgerSupportsProtocol blk, InspectLedger blk, HasHardForkHistory blk, LedgerSupportsMempool blk, HasTxId (GenTx blk), HasRawTxId (TxId (GenTx blk)), BlockSupportsLedgerQuery blk, SupportedNetworkProtocolVersion blk, ConfigSupportsNode blk, ConvertRawHash blk, CommonProtocolParams blk, HasBinaryBlockInfo blk, SerialiseDiskConstraints blk, SerialiseNodeToNodeConstraints blk, SerialiseNodeToClientConstraints blk, LedgerSupportsPeerSelection blk, NodeInitStorage blk, BlockSupportsMetrics blk, BlockSupportsDiffusionPipelining blk, BlockSupportsPeras blk, StateSupportsPerasEpochContext blk, BlockSupportsSanityCheck blk, LeiosProtocol (BlockProtocol blk), Show (CannotForge blk), Show (ForgeStateInfo blk), Show (ForgeStateUpdateError blk), ShowProxy blk, ShowProxy (ApplyTxErr blk), ShowProxy (GenTx blk), ShowProxy (Header blk), ShowProxy (BlockQuery blk), ShowProxy (TxId (GenTx blk)), ShowProxy (PerasVote blk), ShowProxy (PerasCert blk), ∀ (fp ∷ QueryFootprint). ShowQuery (BlockQuery blk fp), CanUpgradeLedgerTables LedgerState blk) ⇒ RunNode blk Source #