/starknet_in_rust

A Rust implementation of StarkNet

Primary LanguageRustApache License 2.0Apache-2.0

πŸ¦€ StarkNet in Rust πŸ¦€

StarkNet library in Rust, featuring ⚑cairo-rs⚑ VM

Report Bug Β· Request Feature

codecov license pr-welcome Telegram Chat

Table of Contents

⚠️ Disclaimer

🚧 This project is a work-in-progress and is not ready for production yet. Use at your own risk. 🚧

πŸ“– About

starknet_in_rust is an implementation of StarkNet in Rust. It makes use of cairo-rs, the Rust implementation of the Cairo virtual machine.

πŸŒ… Getting Started

Dependencies

  • Rust 1.62
  • A working installation of cairo-lang 0.10.2 (for compiling the cairo files)

Installation

Run the following make targets to have a working environment:

$ make deps
$ source starknet-in-rs-venv/bin/activate
$ make compile_cairo
$ deactivate
$ make build

Check the Makefile for additional targets.

πŸš€ Usage

This project is in an early stage and not ready to be used yet.

Testing

Run the following command:

$ make test

πŸ›  Contributing

The open source community is a fantastic place for learning, inspiration, and creation, and this is all thanks to contributions from people like you. Your contributions are greatly appreciated.

If you have any suggestions for how to improve the project, please feel free to fork the repo and create a pull request, or open an issue with the tag 'enhancement'.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

And don't forget to give the project a star! ⭐ Thank you again for your support.

🌞 Related Projects

  • cairo-rs: A fast implementation of the Cairo VM in Rust.
  • cairo-rs-py: Bindings for using cairo-rs from Python code.

πŸ“š Documentation

StarkNet

βš–οΈ License

This project is licensed under the Apache 2.0 license.

See LICENSE for more information.