Skip to content

Designs and implementations of inter-node communication for the Ouroboros family

Notifications You must be signed in to change notification settings

mgajda/ouroboros-network

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

Ouroboros-Network

  • io-sim - IOSim simulator monad which supports asynchronous exceptions, STM transactions and async interface, timers.
  • io-sim-classes - type classes, all of them have instance for both IOSim and IO.
  • typed-protocols - session type framework with support of protocol pipelining
  • ouroboros-network- ouroboros network package which implements protocols which to run ouroboros family of protocols, multiplexing layer.
  • byron-proxy - proxy between Byron and Shelley nodes.

Design Specification

The network design is documented here. It includes high level overview and requirements, description of communication protocols, design of the multiplexing layer, wire protocl (binary encoding of messages). It is a self contained document, written for implementors who wish to re-implenet Cardano Shelley network architecture.

Demo application

You can run a demo application, check chain-sync-demo wiki page.

Tests

Typed Protocols test suite

cabal new-run pkg:typed-protocols:tests

or with nix

nix-build -A nix-tools.tests.ouroboros-network

IOSim test suite

cabal new-run pkg:io-sim:tests

or with nix

nix-build -A nix-tools.tests.io-sim

Ouroboros-Network test suite

cabal new-run pkg:ouroboros-network:tests

or with nix

nix-build -A nix-tools.tests.ouroboros-network

Ouroboros-Consensus test suite

cabal new-run pkg:ouroboros-consensus:tests

or with nix

nix-build -A nix-tools.tests.ouroboros-consensus

Ouroboros-Consensus

Consensus layer of the family Ouroboros blockchain protocols.

Tests

Consensus test suite

cabal new-run pkg:ouroboros-consensus:test-consensus

or with nix

nix-build -A nix-tools.tests.ouroboros-consensus.test-consensus

Crypto test suite

cabal new-run pkg:ouroboros-consensus:test-crypto

or with nix

nix-build -A nix-tools.tests.ouroboros-consensus.test-crypto

Storage test suite

cabal new-run pkg:ouroboros-consensus:test-storage

or with nix

nix-build -A nix-tools.tests.ouroboros-consensus.test-storage

About

Designs and implementations of inter-node communication for the Ouroboros family

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Haskell 99.1%
  • Other 0.9%