A collection of miscellaneous packages used by Cardano that cover:
- cryptography
- serialization
- slotting
Each sub-project has its own README.
Haddocks for all packages from the master branch can be found at
base.cardano.intersectmbo.org
All releases for packages found in this repository are recorded in Cardano Haskell package repository
With nix it is as easy as:
$ nix develop
...
$ cabal build all
IMPORTANT: This project requires custom versions of cryptographic libraries with VRF support.
See INSTALL.md for detailed installation instructions including:
- Pre-built binaries for macOS, Linux, and Windows
- Building from source
- Environment setup
- Troubleshooting
Quick overview of required dependencies:
- libsodium-vrf - Custom fork with VRF batch verification (source)
- libsecp256k1 - With Schnorr signature support
- libblst - BLS12-381 implementation
Pre-built binaries available at: https://github.com/input-output-hk/iohk-nix/releases/latest
Default version of GHC used in nix is 9.6.7. The project is tested with GHC versions 9.6.7, 9.8.4, 9.10.2, and 9.12.2.
This is a command to run test suites for all packages:
$ cabal build all
The test suites use Tasty,
which allows for running specific tests.
This is done by passing the -p flag to the test program, followed by an awk pattern.
You can alternatively use the TASTY_PATTERN environment variable with a pattern.
For example, the cardano-crypto-tests can be run with:
$ cabal test cardano-crypto-tests --test-options '-p blake2b_256'or
$ TASTY_PATTERN="blake2b_256" cabal test cardano-crypto-tests