Skip to main content

Haskell packages

The Hydra project consists of several Haskell packages, each serving distinct parts of the protocol. While some packages are internal and tailored specifically to Hydra, others offer more generic functionalities that could benefit other projects tackling similar challenges. Comprehensive Haddock documentation is provided for all packages.

Public packages

PackageDescription
plutus-merkle-treeImplementation of Merkle trees, compatible with on-chain Plutus validators
plutus-cborImplementation of CBOR encoders, compatible with on-chain Plutus validators
hydra-preludeCustom Hydra prelude used across other Hydra packages
hydra-cardano-apiA wrapper around the cardano-api, with era-specialized types and extra utilities

Internal packages

PackageDescription
hydra-nodeThe Hydra node
hydra-node testsThe Hydra node test code
hydra-tuiTerminal User Interface (TUI) for managing a Hydra node
hydra-plutusHydra Plutus contracts
hydra-clusterIntegration test suite using a local cluster of Cardano and Hydra nodes