Table of Contents
Kakarot RPC is the JSON-RPC server adapter to interact with Kakarot ZK-EVM in a fully EVM-compatible way.
This adapter layer is based on:
The Kakarot RPC layer's goal is to receive and output EVM-compatible JSON-RPC payloads & calls while interacting with the Starknet Blockchain. This enables Kakarot zkEVM to interact with the usual Ethereum tooling: Metamask, Hardhat, Foundry, etc.
Here is a high level overview of the architecture of Kakarot RPC.
TL;DR:
- Run
kakarotup
to install Kakarot RPC. - Test with
cargo test --all
. - Run Kakarot RPC in dev mode:
RUST_LOG=debug cargo run -p kakarot_rpc
To install with kakarotup
run (kakarotup requires nightly rustup):
curl -sL https://raw.githubusercontent.com/sayajin-labs/kakarot-rpc/main/kakarotup | sh
Copy the .env.example
file to a .env
file and populate each variable.
cp examples/.env.example .env
Meanwhile you can just use unit tests to dev.
cargo test --all
Build from source:
cargo build --all --release
The binaries will be located in target/release/
.
Specify the environment variables and run the binary.
source .env && cargo run -p kakarot_rpc
Kakarot RPC is configurable through environment variables.
Here is the list of all the available environment variables:
Name | Default value | Description |
---|---|---|
STARKNET_RPC_URL | No | StarkNet RPC URL |
[TODO]
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
Reach out to the maintainer at one of the following places:
- GitHub Discussions
- Contact options listed on this GitHub profile
If you want to say thank you or/and support active development of Kakarot RPC:
- Add a GitHub Star to the project.
- Tweet about the Kakarot RPC.
- Write interesting articles about the project on Dev.to, Medium or your personal blog.
Together, we can make Kakarot RPC better!
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 contributions you make will benefit everybody else and are greatly appreciated.
Please read our contribution guidelines, and thank you for being involved!
For a full list of all authors and contributors, see the contributors page.
Kakarot RPC follows good practices of security, but 100% security cannot be assured. Kakarot RPC 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.
This project is licensed under the MIT license.
See LICENSE for more information.
Thanks goes to these wonderful people (emoji key):
Abdel @ StarkWare 💻 |
etash 💻 |
Mentor Reka 💻 |
Flydexo 💻 |
Elias Tazartes 💻 |
||
Add your contributions |
This project follows the all-contributors specification. Contributions of any kind welcome!