kakarot-ssj
kakarot-ssj copied to clipboard
Kakarot zkEVM - rewrite in the latest version of Cairo
Table of Contents
- About
-
Getting Started
- Installation
-
Usage
- Build
- Test
- Format
- Roadmap
- Support
- Project assistance
- Contributing
- Authors & contributors
- Security
- License
- Acknowledgements
- Contributors β¨
About
Kakarot is an (zk)-Ethereum Virtual Machine implementation written in Cairo. Kakarot is Ethereum compatible, i.e. all existing smart contracts, developer tools and wallets work out-of-the-box on Kakarot. It's been open source from day one. Soon available on Starknet L2 and L3.
π§ It is a work in progress, and it is not ready for production.
Getting Started
This repository is a rewrite of the first version of Kakarot zkEVM.
Installation
-
Install Scarb. To make sure your version always matches the one used by Kakarot, you can install Scarb via asdf.
-
Install Bun to run the JavaScript scripts to compute the Starknet address.
-
Fork the repository and clone your fork (
git clone https://github.com/<YOUR_USERNAME>/kakarot-ssj
) -
Run
make install
to install the git hooks. -
Add your environment variables to
.env
(see.env.example
for an example).- Get your Github token here
Usage
Build
scarb build
Test
scarb test
Format
The project uses trunk for everything apart cairo files. If you don't have it installed already, you can do:
curl https://get.trunk.io -fsSL | bash
then
trunk check --fix
VS Code users, don't miss the VS Code trunk plugin.
For cairo files, run:
scarb fmt
Roadmap
See the open issues for a list of proposed features (and known issues).
- Top Feature Requests (Add your votes using the π reaction)
- Top Bugs (Add your votes using the π reaction)
- Newest Bugs
Support
Reach out to the maintainer at one of the following places:
Project assistance
If you want to say thank you or/and support active development of Kakarot:
- Add a GitHub Star to the project.
- Tweet about Kakarot.
- Write interesting articles about the project on Dev.to, Medium, Mirror or your personal blog.
Together, we can make Kakarot better!
Contributing
First off, thanks for taking the time to contribute! Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contribution you make will benefit everybody else and is greatly appreciated.
Please read our contribution guidelines, and thank you for being involved!
Authors & contributors
For a full list of all authors and contributors, see the contributors page.
Security
Kakarot follows good practices of security, but 100% security cannot be assured. Kakarot is provided "as is" without any warranty. Use at your own risk.
For more information and to report security issues, please refer to our security documentation.
License
This project is licensed under the MIT license.
See LICENSE for more information.
Acknowledgements
Contributors β¨
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!