Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/foundry-rs/starknet-foundry
Blazing fast toolkit for developing Starknet contracts.
https://github.com/foundry-rs/starknet-foundry
blockchain cairo cairo-lang dapp framework rust starknet testing toolkit
Last synced: 3 months ago
JSON representation
Blazing fast toolkit for developing Starknet contracts.
- Host: GitHub
- URL: https://github.com/foundry-rs/starknet-foundry
- Owner: foundry-rs
- License: mit
- Created: 2023-07-05T22:27:04.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-04-12T17:06:47.000Z (7 months ago)
- Last Synced: 2024-04-13T21:45:36.109Z (7 months ago)
- Topics: blockchain, cairo, cairo-lang, dapp, framework, rust, starknet, testing, toolkit
- Language: Rust
- Homepage: https://foundry-rs.github.io/starknet-foundry/
- Size: 6.72 MB
- Stars: 262
- Watchers: 4
- Forks: 121
- Open Issues: 188
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- awesome-starknet-security - Starknet Foundry - Starknet contracts development toolkit. (Tools)
README
## Starknet Foundry
[![Telegram Chat][tg-badge]][tg-url] [![Telegram Support][tg-support-badge]][tg-support-url]
[tg-badge]: https://img.shields.io/endpoint?color=neon&logo=telegram&label=chat&style=flat-square&url=https%3A%2F%2Ftg.sumanjay.workers.dev%2Fstarknet_foundry
[tg-url]: https://t.me/starknet_foundry
[tg-support-badge]: https://img.shields.io/endpoint?color=neon&logo=telegram&label=support&style=flat-square&url=https%3A%2F%2Ftg.sumanjay.workers.dev%2Fstarknet_foundry_support
[tg-support-url]: https://t.me/starknet_foundry_support
Blazingly fast toolkit for developing Starknet contracts designed & developed by
ex [Protostar](https://github.com/software-mansion/protostar) team from [Software Mansion](https://swmansion.com) based
on native [Cairo](https://github.com/starkware-libs/cairo) test runner
and [Blockifier](https://github.com/starkware-libs/blockifier), written in Rust 🦀.Need help getting started with Starknet Foundry? Read the
📖 [Starknet Foundry Book](https://foundry-rs.github.io/starknet-foundry/)!![Example run](.github/images/demo-gif/demo.gif)
Starknet Foundry, like its [Ethereum counterpart](https://github.com/foundry-rs/foundry), consists of different modules
- [`snforge`](https://github.com/foundry-rs/starknet-foundry/tree/master/crates/forge): Starknet testing
framework (like Truffle, Hardhat and DappTools but for Starknet).
- [`sncast`](https://github.com/foundry-rs/starknet-foundry/tree/master/crates/sncast): All-in-one tool for
interacting with Starknet smart contracts, sending transactions and getting chain data.## Installation
To install Starknet Foundry, first install `snfoundryup` by running:
```shell
curl -L https://raw.githubusercontent.com/foundry-rs/starknet-foundry/master/scripts/install.sh | sh
```Follow the instructions and then run
```shell
snfoundryup
```You can also specify a version you wish to install:
```shell
snfoundryup -v 0.9.0
```To verify that the Starknet Foundry is installed correctly, run `snforge --version` and `sncast --version`.
## Features
- Fast testing framework `snforge` written in Rust
- High-quality dependency management using [scarb](https://github.com/software-mansion/scarb)
- Intuitive interactions and deployment of Starknet contracts through `sncast`## Roadmap
Starknet Foundry is under active development! Expect a lot of new features to appear soon! 🔥
- [x] Running tests written in Cairo
- [x] Contract interactions testing
- [x] Interacting with Starknet from command line
- [x] Multicall support
- [x] Cheatcodes
- [x] Starknet state forking
- [x] Fuzz testing
- [x] Parallel tests execution
- [x] Performance improvements
- [x] Deployment scripts written in Cairo
- [ ] Transactions profiling 🏗️
- [ ] Debugging utilities 🏗️
- [ ] L1 ↔ L2 messaging and cross-chain testing
- [ ] Test coverage reports## Performance
![Performance plot](.github/images/plot.png)
`snforge` achieves performance comparable to the Cairo Test Runner with improved user experience.
## Getting Help
You haven't found your answer to your question in
the [Starknet Foundry Book](https://foundry-rs.github.io/starknet-foundry/)?- Join the [Telegram](https://t.me/starknet_foundry_support) group to get help
- Open a [GitHub discussion](https://github.com/foundry-rs/starknet-foundry/discussions) with your question
- Join the [Starknet Discord](https://discord.com/invite/starknet-community)Found a bug? Open an [issue](https://github.com/foundry-rs/starknet-foundry/issues).
## Contributions
Starknet Foundry is under active development, and we appreciate any help from the community! Want to contribute? Read
the [contribution guidelines](./CONTRIBUTING.md).Check out [development guide](https://foundry-rs.github.io/starknet-foundry/development/environment-setup.html) for
local environment setup guide.