https://github.com/mlabs-haskell/cem-script
https://cardano.ideascale.com/c/idea/106740
https://github.com/mlabs-haskell/cem-script
Last synced: about 1 year ago
JSON representation
https://cardano.ideascale.com/c/idea/106740
- Host: GitHub
- URL: https://github.com/mlabs-haskell/cem-script
- Owner: mlabs-haskell
- License: mit
- Created: 2023-09-26T12:37:47.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2025-03-07T06:03:16.000Z (over 1 year ago)
- Last Synced: 2025-03-29T02:04:10.557Z (about 1 year ago)
- Language: Haskell
- Homepage:
- Size: 507 KB
- Stars: 2
- Watchers: 18
- Forks: 2
- Open Issues: 29
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CEM Script
## Project pitch
CEM Script is a framework to define Cardano DApp logic via annotated CEM-machines,
resulting in free implementations for:
* On-chain scripts
* Transaction building/submission (off-chain)
* Transaction parsing/indexing
* Automatically testing invariants
* Human-readable specs
## Documentation
* [Getting Started Guide](https://github.com/mlabs-haskell/cem-script/blob/master/docs/getting_started.md)
* [Goals and Design](https://github.com/mlabs-haskell/cem-script/blob/master/docs/goals_and_design.md)
* Article about [testing dApps on Cardano with CLB](https://www.mlabs.city/blog/testing-dapps-on-cardano-with-clb-emulator) is another introduction to testing CEM Script dApps.
* [Project Overview Video](https://www.youtube.com/watch?v=GRfrpu_KHAg)
## Building
### Building using devx shell
Building is performed with `cabal`inside IOG's `github:input-output-hk/devx` shell.
See `.envrc` for details.
Make sure to `cabal update` before building.
### Building manually
*Unsupported method: do on your own risk. Was tested on Arch Linux in 2024.*
Manual installation for required binary dependencies is described here:
https://github.com/input-output-hk/cardano-node-wiki/blob/main/docs/getting-started/install.md#installing-blst
Arch Linux has libblst in AUR, which is alternative for building it manually.
After installing binary dependencies `cabal build` should work.
## Running tests
Tests are runned in emulated environment using
[CLB](https://github.com/mlabs-haskell/clb).
Just run: `cabal run cem-script-test`.