Home

CLB - Cardano Emulator that works

Welcome to CLB (pronounced /klʌb/)!

CLB (opens in a new tab) (stands for Cardano Ledger Backend) is a two-in-one Cardano emulator which can be used in two modes of operation depending on your needs:

  • as a Haskell library
  • as a cardano-node emualator

These two modes have different applications and behavior, see variants of use. Check out the getting started page to start with CLB.

The core CLB library has been developed with the following ideas in mind:

  • Being fully compatible with the cardano-ledger codebase.
  • Minimal dependency set. CLB depends only on plutus and cardano-ledger. No plutus-apps or cardano-node or Ouroboros.
  • Works for Plutus V1, Plutus V2, and Plutus V3.
  • Support for Babbage and Conway eras (one at a time though).
  • Realistic usage estimation of resources even when they exceed limits.
  • Using pure state and being blazingly fast to facilitate property-based testing.

Maintenance

CLB is maintained by MLabs (opens in a new tab) as a part of its core-tools endeavor. Please submit an issue (opens in a new tab) or ask a question (opens in a new tab) on GitHub. CLB is an open-source project, so PRs are highly welcomed as well.

Adoption

Here is the list of projects that use CLB or its parts:

If you use CLB and your project is not on the list, please give us a shout (opens in a new tab).

History

In case you are interested in the CLB's story we recommend reading this report (opens in a new tab) that goes to great lengths to present the whole story, particularly:

Credits

CLB was funded by Catalyst Fund10 proposal (opens in a new tab) and developed by MLabs (opens in a new tab)' team:

  • George Flerovsky
  • Gregory Gerasev
  • Ilia Rodionov
  • Mazen Khaddaj
  • Rajdeep Maity