Skip to content

abdulqs/starknet-foundry

 
 

Repository files navigation

logo

Starknet Foundry

Telegram Chat Telegram Support

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!

Example run

Starknet Foundry, like its Ethereum counterpart, consists of different modules

  • Forge: Starknet testing framework (like Truffle, Hardhat and DappTools but for Starknet).
  • Cast: All-in-one tool for interacting with Starknet smart contracts, sending transactions and getting chain data.

Installation

To install Starknet Foundry, run:

curl -L https://raw.githubusercontent.com/foundry-rs/starknet-foundry/master/scripts/install.sh | sh

You can also specify a version you wish to install:

curl -L https://raw.githubusercontent.com/foundry-rs/starknet-foundry/master/scripts/install.sh | sh -s -- -v 0.3.0

To verify that the Starknet Foundry is installed correctly, run snforge --version and sncast --version.

Features

  • Fast testing framework Forge written in Rust
  • High-quality dependency management using scarb
  • Intuitive interactions and deployment of Starknet contracts through Cast

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
  • Parallel tests execution
  • Performance improvements
  • Deployment scripts written in Cairo
  • Starknet state forking
  • Advanced debugging utilities
  • L1 ↔ L2 messaging and cross-chain testing
  • Transactions profiling
  • Fuzz testing
  • Test coverage reports

Performance

Forge achieves performance comparable to the Cairo Test Runner with improved user experience. All that is possible on just a single thread and multithreading is well on its way!

Starknet test framework speed comparison

To learn more about our benchmark methodology check here.

Getting Help

You haven't found your answer to your question in the Starknet Foundry Book?

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.

About

Blazing fast toolkit for developing Starknet contracts.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 77.1%
  • Cairo 20.2%
  • Shell 2.2%
  • Python 0.5%