https://github.com/intersectmbo/cardano-base
Code used throughout the Cardano eco-system
https://github.com/intersectmbo/cardano-base
Last synced: 3 months ago
JSON representation
Code used throughout the Cardano eco-system
- Host: GitHub
- URL: https://github.com/intersectmbo/cardano-base
- Owner: IntersectMBO
- License: apache-2.0
- Created: 2019-03-18T13:27:33.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-03-26T04:39:06.000Z (3 months ago)
- Last Synced: 2025-03-29T20:06:11.460Z (3 months ago)
- Language: Haskell
- Size: 11.3 MB
- Stars: 97
- Watchers: 58
- Forks: 42
- Open Issues: 29
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE-OF-CONDUCT.md
- Codeowners: CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
# cardano-base
A collection of miscellaneous packages used by Cardano that cover:
* cryptography
* serialization
* slottingEach sub-project has its own README.
Haddock for all packages from master branch can be found here:
[https://cardano-base.cardano.intersectmbo.org](https://cardano-base.cardano.intersectmbo.org/)All releases for packages found in this repository are recorded in [Cardano Haskell
package repository](https://github.com/intersectmbo/cardano-haskell-packages)## Building
### With `nix`
With nix it is as easy as:
```
$ nix develop
...
$ cabal build all
```### Without `nix`
Crypotgraphic depencencies needed for building Haskell packages:
* [`libsodium`](https://github.com/jedisct1/libsodium)
* [`libsecp256k1`](https://github.com/bitcoin-core/secp256k1)
* [`libblst`](https://github.com/supranational/blst)We provide packaged versions for common Operating Systems for all of the above
dependencies: [Download](https://github.com/input-output-hk/iohk-nix/releases/latest)## GHC
Default version of GHC used in `nix` is `9.2.7`, but we do support other GHC versions
`8.10.7` and `9.6.1`.### Testing
This is a command to run test suites for all packages:
```
$ cabal build all
```The test suites use [Tasty](https://github.com/feuerbach/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:```shell
$ cabal test cardano-crypto-tests --test-options '-p blake2b_256'
```or
```shell
$ TASTY_PATTERN="blake2b_256" cabal test cardano-crypto-tests
```