Ouroboros-Network Repository Hackage Documentation
This site contains Haskell documentation of Ouroboros-Network - networking component of the Haskell implementation of Ouroboros protocols.
Documentation
- Introduction to the Design of Data Diffusion and Networking of Cardano Shelley
- The Shelley Networking Protocol
- Official Cardano Documentation
Packages
ouroboros-network-api - API shared by ouroboros-network packages and ouroboros-consensus, e.g. common types, APIs that are provided by the consensus layar. Among others, it includes:
/Block chain related data structures that the networking code needs to be aware of:/
- ouroboros-network-framework - our instantiations and implementation of servers, clients, abstractions for working with named pipes and unix sockets. These are higher level components, which don't dependent on ouroboros protocols, but build a solid foundation for the networking library. Among others, it includes
- Inbound Governor
- Server P2P
- Socket
- Snocket
- Simulated Snocket
ouroboros-network-protocols - /Implementations, type level specifications, and APIs of all the protocols:/
Note
Handshakemini-protocol is implemented inourboros-network-framework: * Handshakeouroboros-network - networking library which supports /Ouroboros family of protocols/. It includes:
Network applications:
- Block Fetch Application
Tx Submission Applications:
APIs:
- Data Diffusion which combines all the pieces for supporting a node
- NodeToNode API
- NodeToClient API
- Peer Selection (aka outbound governor)
- cardano-client - a library which supports subscription mechanism via
node-to-clientprotocol - network-mux - an implementation of a network multiplexer.
- ntp-client - an implementation of an NTP client.
- cardano-ping - a library which implements a ping over
node-to-nodeandnode-to-clientprotocols. Used bycardano-cli pingcommand. - ouroboros-network-mock - a mock chain, used for testing.
- ouroboros-network-testing - helpful functions for testing purposes.
- monoidal-synchronisation - synchronisation primitives (first to finish, last to finish)
Packages
acts-generic-0.1.0.0
- Data
cardano-diffusion-0.1.0.0
- Cardano
cardano-diffusion:api-0.1.0.0
- Cardano
- Network
- Cardano.Network.ConsensusMode
- Cardano.Network.FetchMode
- Cardano.Network.LedgerStateJudgement
- NodeToClient
- NodeToNode
- PeerSelection
- Network
cardano-diffusion:cardano-diffusion-tests-lib-0.1.0.0
- Test
- Cardano
- Network
- Diffusion
- OrphanInstances
- Test.Cardano.Network.PeerSelection
- Network
- Cardano
cardano-diffusion:orphan-instances-0.1.0.0
- Cardano
cardano-diffusion:protocols-0.1.0.0
- Cardano
- Network
- Protocol
- Handshake
- LocalStateQuery
- LocalTxMonitor
- PeerSharing
- Protocol
- Network
cardano-diffusion:protocols-tests-lib-0.1.0.0
- Cardano
- Network
- Protocol
- Network
cardano-diffusion:subscription-0.1.0.0
- Cardano
cardano-ping-0.9.0.0
- Cardano
- Network
dmq-node-0.2.0.0
- DMQ
- DMQ.Configuration
- Diffusion
- Handlers
- DMQ.NodeToClient
- DMQ.NodeToNode
- Protocol
- LocalMsgNotification
- LocalMsgSubmission
- SigSubmission
- DMQ.Tracer
monoidal-synchronisation-0.1.0.6
- Data
network-mux-0.9.1.0
ntp-client-0.0.1.6
- Network
ouroboros-network-0.23.0.0
- Control
- Concurrent
- Class
- MonadSTM
- Class
- Concurrent
- Ouroboros
- Network
- Ouroboros.Network.BlockFetch
- Ouroboros.Network.DeltaQ
- Ouroboros.Network.Diffusion
- Ouroboros.Network.ExitPolicy
- Ouroboros.Network.KeepAlive
- Ouroboros.Network.PeerSelection
- Ouroboros.Network.PeerSelection.Churn
- Ouroboros.Network.PeerSelection.Governor
- Ouroboros.Network.PeerSelection.LedgerPeers
- Ouroboros.Network.PeerSelection.PeerMetric
- Ouroboros.Network.PeerSelection.PeerSelectionActions
- Ouroboros.Network.PeerSelection.PeerStateActions
- Ouroboros.Network.PeerSelection.PublicRootPeers
- Ouroboros.Network.PeerSelection.RootPeersDNS
- State
- Ouroboros.Network.PeerSelection.Types
- Ouroboros.Network.PeerSharing
- TxSubmission
- Ouroboros.Network.BlockFetch
- Network
ouroboros-network:api-0.23.0.0
- Ouroboros
- Network
- Ouroboros.Network.AnchoredFragment
- Ouroboros.Network.AnchoredSeq
- Ouroboros.Network.Block
- BlockFetch
- Ouroboros.Network.CodecCBORTerm
- Ouroboros.Network.ControlMessage
- Ouroboros.Network.DiffusionMode
- Ouroboros.Network.Handshake
- Ouroboros.Network.Magic
- PeerSelection
- Ouroboros.Network.Point
- Protocol
- Ouroboros.Network.SizeInBytes
- Util
- Network
ouroboros-network:api-tests-lib-0.23.0.0
- Ouroboros
ouroboros-network:framework-0.23.0.0
- Data
- NoThunks
- Ouroboros
- Network
- Ouroboros.Network.Channel
- Ouroboros.Network.ConnectionHandler
- Ouroboros.Network.ConnectionId
- ConnectionManager
- Ouroboros.Network.Context
- Ouroboros.Network.Driver
- Ouroboros.Network.IOManager
- Ouroboros.Network.InboundGovernor
- Ouroboros.Network.Mux
- Ouroboros.Network.MuxMode
- Protocol
- Ouroboros.Network.RawBearer
- Ouroboros.Network.RethrowPolicy
- Ouroboros.Network.Server
- Ouroboros.Network.Snocket
- Ouroboros.Network.Socket
- Network
- Simulation
- Network
ouroboros-network:framework-tests-lib-0.23.0.0
- Test
- Ouroboros
- Network
- ConnectionManager
- InboundGovernor
- Test.Ouroboros.Network.Orphans
- RawBearer
- Network
- Ouroboros
ouroboros-network:orphan-instances-0.23.0.0
- Ouroboros
ouroboros-network:ouroboros-network-tests-lib-0.23.0.0
- Ouroboros
- Network
- Test
ouroboros-network:protocols-0.23.0.0
- Ouroboros
- Network
- Protocol
- BlockFetch
- ChainSync
- Codec
- KeepAlive
- LocalStateQuery
- LocalTxMonitor
- LocalTxSubmission
- PeerSharing
- TxSubmission2
- Protocol
- Network
ouroboros-network:protocols-tests-lib-0.23.0.0
- Ouroboros
- Network
- Mock
- Protocol
- BlockFetch
- ChainSync
- Handshake
- KeepAlive
- LocalStateQuery
- LocalTxMonitor
- LocalTxSubmission
- PeerSharing
- TxSubmission2
- Network
- Test
- Test.ChainProducerState
- Data
- Ouroboros
- Network
ouroboros-network:tests-lib-0.23.0.0
- Test