walnuthq / cairovm.codes

Source code for cairovm.codes — a web app to compile Cairo programs into Sierra and CASM with step-through execution capabilities.

Home Page:https://cairovm.codes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cairo VM Codes

An interactive reference to Cairo Virtual Machine cairovm.codes app screenshot

This is the source code that runs cairovm.codes web application. Below you will find the docs on how to contribute to the project and get it up and running locally for further development.

cairovm.codes is brought to you by Walnut.

⚙️ Installation

The app requires the following dependencies:

👩‍💻 Local Development

For contributing to the project, you can quickly get the application running by following these steps:

Clone this repository:

git clone git@github.com:walnuthq/cairovm.codes.git

Install the dependencies:

npm install

Start up the app and see it running at http://localhost:3000

npm run dev

🚀 Deploying

Deployments are handled automatically by Cloudflare, as soon as your PR is merged to main.

🤗 Contributing

cairovm.codes is built and maintained by a small team, so we would definitely love your help to fix bugs, add new features and improvements. Head on to the issues tab to find a list of open contributions.

Before you submit a pull request, please make sure there isn't an existing GitHub issue. If there isn't, create one first to discuss the best way to approach it and also get some feedback from the team.

Once you are about to submit a pull request, prefix the name with either chore: (small improvements and regular maintenance), fix: (bugs and hot fixes), or feat: (new features) to help us quickly look up the type of the issue from the Git history.

Assigning to an issue

If this is your first issue on cairovm.codes, add a comment with the following:

  • Present yourself briefly
  • Mention you want to work on the issue and explain shortly how you want to tackle it
  • When you are selected, you will be assigned to the issue

If this is not your first issue, simply add a comment that you are interested in working on it.

Contributor's chat

Join us on Telegram here. Do not hesitate to ask any question, we will do our best to answer in the best way we can.

Coding conventions

The project is already pre-configured with Eslint, TypeScript, and Prettier. Here are some useful commands you can run to ensure your changes follow the project's coding conventions:

Check for any linting issues and fix:

npm run lint --fix

Check for any TypeScript issues:

npm run typecheck

Sort the package.json:

npm run lint:package

Roadmap

  • Web app to compile & present Cairo > Sierra > CASM
  • Step-by-step execution of CASM
  • Step-by-step execution of Sierra
  • Step-by-step execution of Cairo
  • Visual gas metering

Architecture

If you would like to contribute, make sure to check the architecture document to learn about the code structure, and how the app is built.

License

MIT

About

Source code for cairovm.codes — a web app to compile Cairo programs into Sierra and CASM with step-through execution capabilities.

https://cairovm.codes

License:MIT License


Languages

Language:TypeScript 92.2%Language:CSS 4.4%Language:JavaScript 3.3%Language:Shell 0.1%Language:HTML 0.0%