Skip to content

mlabs-haskell/uplc-benchmark

Repository files navigation

uplc-benchmark

See website.

Components

Specification

Validator specifications are written in LaTeX and sources are available in this repository under ./specifications directory.

Compiled PDF artifacts are available for download from the projects website. These are automatically rebuilt on each push to master branch.

Implementation

Aforementioned specification had been implemented in four Cardano languages that compile to UPLC. Plutarch implementation is considered the reference one but all implementations are tested in the same test framework.

Results (in progress)

Building

Whole project uses Nix as a build system with Flakes enabled. Although various dev shells will provide with native tooling such as cabal or python they are used only for development environment and all builds happen inside Nix sandbox.

Each component comes with its own "Usage" section that describes both development and building commands. Throughout this repository it is assumed that user is in a dev shell provided for each of the components in .envrc files, loading these can be automated with nix-direnv.

While not required, it is recommended to use IOG Nix Binary Cache to avoid building multiple GHC versions.