Awesome
<img src="./docs/src/images/logo.png" alt="logo" width="120" align="right" />Starknet Foundry
Blazingly fast toolkit for developing Starknet contracts designed & developed by ex Protostar team from Software Mansion based on native Cairo test runner and Blockifier, written in Rust š¦.
Need help getting started with Starknet Foundry? Read the š Starknet Foundry Book!
Starknet Foundry, like its Ethereum counterpart, consists of different modules
snforge
: Starknet testing framework (like Truffle, Hardhat and DappTools but for Starknet).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:
$ curl -L https://raw.githubusercontent.com/foundry-rs/starknet-foundry/master/scripts/install.sh | sh
Follow the instructions and then run
$ snfoundryup
You can also specify a version you wish to install:
$ 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
- 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! š„
- Running tests written in Cairo
- Contract interactions testing
- Interacting with Starknet from command line
- Multicall support
- Cheatcodes
- Starknet state forking
- Fuzz testing
- Parallel tests execution
- Performance improvements
- Deployment scripts written in Cairo
- Transactions profiling šļø
- Debugging utilities šļø
- Test coverage reports (check out cairo-coverage) šļø
- L1 ā L2 messaging and cross-chain testing
Performance
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?
- Join the Telegram group to get help
- Open a GitHub discussion with your question
- Join the Starknet Discord
Found a bug? Open an issue.
Contributions
Starknet Foundry is under active development, and we appreciate any help from the community! Want to contribute? Read the contribution guidelines.
Check out development guide for local environment setup guide.