A Haskell eDSL for targeting different zk-VMs.
WARNING: This project is work in progress and subject to frequent changes. It has not been audited and may contain bugs and security flaws. This implementation is NOT ready for production use.
These instructions will help you set up and run nightfall on your local machine for development and testing purposes.
Before you begin, ensure you have the following software installed on your system:
- nix (version 2.15.0 or later)
Examples of programs described in the eDSL can be found in the Examples folder.
For now, the Main is simply a dummy program to test the examples. Launch with
cabal run nightfall -- <example-name>
to get the MASM output on stdin, or
cabal run nightfall -- <example-name> <filepath>
You can then run the generated miden programs with
miden run -a <path-to-your-generated-masm-file>
to save the MASM output on file (warning: override).
This will obviosuly disappear when the library gets more mature.
Note: this is first draft / alpha / experimental / subject to breaking changed even in the same day! Types aren't safe, "smart constructors" aren't "smart". This is just to kickstart the project
We welcome contributions to nightfall! To contribute, please follow these steps:
- Fork the repository and clone it locally.
- Create a new branch (
git checkout -b feature/YourFeature
) - Commit your changes (
git commit -m 'Add YourFeature'
) - Push to the branch (
git push origin feature/YourFeature
) - Create a Pull Request
- Please read
CONTRIBUTING.md
for details on our code of conduct and the process for submitting pull requests.
This project is released under the terms of the Apache 2.0 License - see the LICENSE
file for details.
The repository is REUSE compliant. The copyright owner are listed in the .reuse/dep5
file or in the respective copyright notice.