Skip to content

Kakarot ZK-EVM in Cairo 1.0 🐺 ⚑

License

Notifications You must be signed in to change notification settings

Eikix/kakarot-ssj

Β 
Β 

Repository files navigation


GitHub Workflow Status GitHub GitHub contributors GitHub top language Telegram Contributions welcome Read FAQ GitHub Repo stars Twitter Follow

Table of Contents

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 JavaScipt 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).

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:

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):

Abdel @ StarkWare
Abdel @ StarkWare

πŸ’»
johann bestowrous
johann bestowrous

πŸ’»
Elias Tazartes
Elias Tazartes

πŸ‘€ βœ… πŸ“’
Mathieu
Mathieu

πŸ’» ⚠️ πŸ“–
khaeljy
khaeljy

πŸ’»
ClΓ©ment Walter
ClΓ©ment Walter

πŸ’»
Lucas @ StarkWare
Lucas @ StarkWare

πŸ’»
lambda-0x
lambda-0x

πŸ’»
danilowhk
danilowhk

πŸ’»
Tristan
Tristan

πŸ’»
Quentash
Quentash

πŸ’»
ftupas
ftupas

πŸ’»
Aniket Prajapati
Aniket Prajapati

πŸ’»
Daniel Bejarano
Daniel Bejarano

πŸ’»
Noeljarillo
Noeljarillo

πŸ’»
Thomas Butler
Thomas Butler

πŸ’»
Ammar Arif
Ammar Arif

πŸ“–
Add your contributions

This project follows the all-contributors specification. Contributions of any kind welcome!

About

Kakarot ZK-EVM in Cairo 1.0 🐺 ⚑

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Cairo 98.9%
  • Other 1.1%