ouroboros-consensus-0.18.0.0: Consensus layer for the Ouroboros blockchain protocol
Safe HaskellSafe-Inferred
LanguageHaskell2010

Ouroboros.Consensus.Node.NetworkProtocolVersion

Contents

Synopsis

Documentation

class (Show (BlockNodeToNodeVersion blk), Show (BlockNodeToClientVersion blk), Eq (BlockNodeToNodeVersion blk), Eq (BlockNodeToClientVersion blk)) ⇒ HasNetworkProtocolVersion blk Source #

Protocol versioning

IMPORTANT Note that this is entirely independent of the shelleyProtVer field et al.

Its primary purpose is to control the details of on-the-wire codecs. And additionally which queries are allowed, in the case of BlockNodeToClienVersion (this use is already handled by shelleyProtVer in the NTN case).

Associated Types

type BlockNodeToNodeVersion blk ∷ Type Source #

type BlockNodeToClientVersion blk ∷ Type Source #

class HasNetworkProtocolVersion blk ⇒ SupportedNetworkProtocolVersion blk where Source #

Methods

supportedNodeToNodeVersionsProxy blk → Map NodeToNodeVersion (BlockNodeToNodeVersion blk) Source #

Enumerate all supported node-to-node versions

supportedNodeToClientVersionsProxy blk → Map NodeToClientVersion (BlockNodeToClientVersion blk) Source #

Enumerate all supported node-to-client versions

latestReleasedNodeVersionProxy blk → (Maybe NodeToNodeVersion, Maybe NodeToClientVersion) Source #

The latest released version

This is the latest version intended for deployment.

IMPORTANT Note that this is entirely independent of the shelleyProtVer field et al.

Re-exports

data NodeToClientVersion Source #

Enumeration of node to client protocol versions.

Constructors

NodeToClientV_9

enabled CardanoNodeToClientVersion7, i.e., Alonzo

NodeToClientV_10

added GetChainBlockNo and GetChainPoint queries

NodeToClientV_11

added GetRewardInfoPools Block query

NodeToClientV_12

added LocalTxMonitor mini-protocol

NodeToClientV_13

enabled CardanoNodeToClientVersion9, i.e., Babbage

NodeToClientV_14

added GetPoolDistr, GetPoolState, GetSnapshots

NodeToClientV_15

added query to NodeToClientVersionData

NodeToClientV_16

add ImmutableTip to LocalStateQuery, enabled CardanoNodeToClientVersion11, i.e., Conway and GetStakeDelegDeposits.

Instances

Instances details
Bounded NodeToClientVersion 
Instance details

Defined in Ouroboros.Network.NodeToClient.Version

Enum NodeToClientVersion 
Instance details

Defined in Ouroboros.Network.NodeToClient.Version

Generic NodeToClientVersion 
Instance details

Defined in Ouroboros.Network.NodeToClient.Version

Associated Types

type Rep NodeToClientVersionTypeType #

Show NodeToClientVersion 
Instance details

Defined in Ouroboros.Network.NodeToClient.Version

NFData NodeToClientVersion 
Instance details

Defined in Ouroboros.Network.NodeToClient.Version

Methods

rnfNodeToClientVersion → () #

Eq NodeToClientVersion 
Instance details

Defined in Ouroboros.Network.NodeToClient.Version

Ord NodeToClientVersion 
Instance details

Defined in Ouroboros.Network.NodeToClient.Version

type Rep NodeToClientVersion 
Instance details

Defined in Ouroboros.Network.NodeToClient.Version

type Rep NodeToClientVersion = D1 ('MetaData "NodeToClientVersion" "Ouroboros.Network.NodeToClient.Version" "ouroboros-network-api-0.7.2.0-0bea7b823cbda00590f7ea5f9786d7648393f2aa10b0aef7b53ea3ea0094c568" 'False) (((C1 ('MetaCons "NodeToClientV_9" 'PrefixI 'False) (U1TypeType) :+: C1 ('MetaCons "NodeToClientV_10" 'PrefixI 'False) (U1TypeType)) :+: (C1 ('MetaCons "NodeToClientV_11" 'PrefixI 'False) (U1TypeType) :+: C1 ('MetaCons "NodeToClientV_12" 'PrefixI 'False) (U1TypeType))) :+: ((C1 ('MetaCons "NodeToClientV_13" 'PrefixI 'False) (U1TypeType) :+: C1 ('MetaCons "NodeToClientV_14" 'PrefixI 'False) (U1TypeType)) :+: (C1 ('MetaCons "NodeToClientV_15" 'PrefixI 'False) (U1TypeType) :+: C1 ('MetaCons "NodeToClientV_16" 'PrefixI 'False) (U1TypeType))))

data NodeToNodeVersion Source #

Enumeration of node to node protocol versions.

Constructors

NodeToNodeV_7

Changes:

  • new KeepAlive codec
  • Enable CardanoNodeToNodeVersion5, i.e., Alonzo
NodeToNodeV_8

Changes:

  • Enable block diffusion pipelining in ChainSync and BlockFetch logic.
NodeToNodeV_9

Changes:

  • Enable CardanoNodeToNodeVersion6, i.e., Babbage
NodeToNodeV_10

Changes:

  • Enable full duplex connections.
NodeToNodeV_11

Changes:

  • Adds a new extra parameter to handshake: PeerSharing This version is needed to support the new Peer Sharing miniprotocol older versions that are negotiated will appear as not participating in Peer Sharing to newer versions.
  • Adds query to NodeToClientVersionData.
NodeToNodeV_12

No changes.

(In the past, this enabled Conway, but the negotiated NodeToNodeVersion no longer en-/disables eras.)

NodeToNodeV_13

Changes:

  • Removed PeerSharingPrivate constructor
  • Fixed Codec to disable PeerSharing with buggy versions 11 and 12.
  • Disable PeerSharing with InitiatorOnly nodes, since they do not run peer sharing server side and can not reply to requests.

Instances

Instances details
Bounded NodeToNodeVersion 
Instance details

Defined in Ouroboros.Network.NodeToNode.Version

Enum NodeToNodeVersion 
Instance details

Defined in Ouroboros.Network.NodeToNode.Version

Generic NodeToNodeVersion 
Instance details

Defined in Ouroboros.Network.NodeToNode.Version

Associated Types

type Rep NodeToNodeVersionTypeType #

Show NodeToNodeVersion 
Instance details

Defined in Ouroboros.Network.NodeToNode.Version

NFData NodeToNodeVersion 
Instance details

Defined in Ouroboros.Network.NodeToNode.Version

Methods

rnfNodeToNodeVersion → () #

Eq NodeToNodeVersion 
Instance details

Defined in Ouroboros.Network.NodeToNode.Version

Ord NodeToNodeVersion 
Instance details

Defined in Ouroboros.Network.NodeToNode.Version

type Rep NodeToNodeVersion 
Instance details

Defined in Ouroboros.Network.NodeToNode.Version

type Rep NodeToNodeVersion = D1 ('MetaData "NodeToNodeVersion" "Ouroboros.Network.NodeToNode.Version" "ouroboros-network-api-0.7.2.0-0bea7b823cbda00590f7ea5f9786d7648393f2aa10b0aef7b53ea3ea0094c568" 'False) ((C1 ('MetaCons "NodeToNodeV_7" 'PrefixI 'False) (U1TypeType) :+: (C1 ('MetaCons "NodeToNodeV_8" 'PrefixI 'False) (U1TypeType) :+: C1 ('MetaCons "NodeToNodeV_9" 'PrefixI 'False) (U1TypeType))) :+: ((C1 ('MetaCons "NodeToNodeV_10" 'PrefixI 'False) (U1TypeType) :+: C1 ('MetaCons "NodeToNodeV_11" 'PrefixI 'False) (U1TypeType)) :+: (C1 ('MetaCons "NodeToNodeV_12" 'PrefixI 'False) (U1TypeType) :+: C1 ('MetaCons "NodeToNodeV_13" 'PrefixI 'False) (U1TypeType))))