A curated list of awesome StarkNet resources, libraries, tools and more.
Please check the contribution guidelines for information on formatting and writing pull requests.
- StarkNet and Cairo Documentation - Official Documentation.
- Setting up the environment - How to install Cairo and StarkNet.
- How Cairo Works - Low-level explanation of Cairo's mechanics.
- Hello StarkNet - Tutorial for writing and deploying a contract.
- Hello Cairo - Tutorials for writing various simple Cairo contracts.
- Cairo Reference - Explanation of Cairo's syntax
- Cairo – a Turing-complete STARK-friendly CPU architecture - Cairo Whitepaper
- A verified algebraic representation of Cairo program execution - Proof Cairo's soundness using the Lean proof assistant
- Cairo Playground - In-browser Cairo IDE, examples and puzzles
- StarkNet Voting Workshop - End to end tutorial on building a voting app
- YouTube channel - Official StarkWare YouTube channel.
- StarkNet Ecosystem - A community-driven initiative to showcase projects and teams building on StarkNet.
- Full-Stack StarkNet - Tutorials introducing a little bit of everything in a DApp.
- Interactive Tutorials for StarkNet Development - Interactive tutorials teaching all the different concepts in Cairo from beginner to advanced.
- Unit Testing in StarkNet -
Using
pytest
to test contracts - Managing StarkNet deployments using Nile ⛵️✨
- starknet-cairo-101 - Interactive Cairo workshop using Voyager with puzzles and tokens as prizes.
- starknet-erc20 - Learn about the ERC20 standard and how to deploy your own token, and collect points
- starknet-erc721 - Learn about the ERC721 standard and how to deploy your own NFT
- starknet-messaging-bridge - Learn how to build your own bridge between Ethereum and StarkNet
- starknet-accounts - Discover the wonders of account abstraction and create your own smart wallet
- Debugging - Debug contracts in an efficient way
-
Going all in - starknet Notion site of helpful resources
-
Perama's Blog - Large set of educational StarkNet / Cairo resources
-
Practical StarkNet lessons learned - Helpful tips for new StarkNet/Cairo programmers
-
Cairo Common Library - Docs for the Cairo Common Library (stdlib equivalent)
-
Cairo Concepts Overview - High level overview of concepts encountered in the Cairo ecosystem (Ethereum, Smart Contracts, Decentralization, Scaling, L2, Rollups, ZKPs etc.)
-
Account Abstraction - Explanation of StarkNet's account abstraction
-
Test Accounts - Explanation of building test accounts
- ChainSecurity DAI Bridge Audit - Audit of MakerDAO's DAI bridge by ChainSecurity.
- Cairo by Example - An introduction to Cairo with simple examples.
- Skeleton for StarkNet
- Quick example of a Minimum verifiable program
- Skeleton for SHARP
- SHARP programs differ from Cairo programs, this shows how to use SHARP for your own custom Cairo deploys (e.g. if you'd use StarkEx)
- StarkWare | Scaling Ethereum, ZK-rollups, Layer 1's, and more! - Interview with Louis Guthmann, Ecosystem Lead @ StarkWare
- StarkNet Basecamp - Learn how Starks, Cairo and StarkNet work, from the ground up.
- ZigZagExchange - Orderbook DEX
- physics-puzzle - Physics puzzle
- RYO - Dope Wars game engine
- qasr - ETH <> StarkNet NFT Bridge
- starknet-dai-bridge - ETH <> StarkNet DAI Bridge
- rk4-starknet - Runge Kutta 4th Order Method on StarkNet
- stardrop - Anonymous rewards
- tictactoe - RL Agent playing Tic-Tac-Toe
- tiny-dnn-on-starknet - Deep Neural Net PoC
- argent-contracts-starknet - Argent's Account contracts
- briq - NFT building & composability protocol
- Contracts Wizard for Cairo - Interactive smart contract generator based on OpenZeppelin Contracts for Cairo.
- starknet-hardhat-example - Example usage of the Starknet Hardhat plugin.
- starknet-react-example - Connect your ReactApp to StarkNet
- vue-stark-boil - Boilerplate for Argent-X/Vue.js.
- starknet-scaffold - Cario development scaffold using nile and pytest
- Dapp Developer at Shard labs.
- Open source developer at Open Zeppelin.
- Cairo engineers at Immutable.
- Chainlink integration team.
- Blockchain software engineer at JellyFi.
- get-starknet - wallet <-> dApp bridge.
- starknet.js - Javascript library
- starknet.py - Python library
- starknet-rs - Rust library
- starknet-hardhat-plugin - A plugin for integrating Starknet tools into Hardhat projects
- cairo-contracts - OpenZeppelin Contracts written in Cairo
- cairomate - Structured, dependable legos for Starknet development.
- caigo - Golang Library.
- starknet-react - React hooks library.
- Braavos - Browser extension wallet.
- argent-x - Browser extension wallet
- cairo_kernel - Jupyter kernel for Cairo.
- fossil - L1 state verification with STARKs.
- juno - Client (GoLang).
- nile - CLI tool to develop StarkNet projects written in Cairo by OpenZeppelin
- protostar - CLI tool for developing and testing contracts in Cairo.
- starknet-devnet - Local testnet
- starkops - StarkNet CLI
- voyager - Block explorer.
- starktx - StarkTx Transaction Decoder.
- warp - Solidity to Cairo transpiler
- Amarna - Amarna is a static-analyzer and linter for the Cairo programming language.
- Medjai - Medjai is an open-sourced general framework for reasoning about Cairo programs based on symbolic execution. Note: Medjai is still under active development.
- Horus - Horus, a formal verification tool for Cairo smart contracts.
- Tayt - Tayt is a Cairo smart contract fuzzer.
- Cairo-Fuzzer - Cairo-fuzzer is a tool designed by Fuzzing Labs, for smart contract developers to test the security. It can be used as an independent tool or as a library.
- Open-Zeppelin-Contract-Wizard-for-Cairo - OpenZeppelin's Cairo Contracts Wizard is a tool that gets developers a headstart when building smart contracts. Developers can use templates to build ERC20, ERC721, and custom tokens with the interactive menu components, all the while watching the code take shape. All code generated is available for download or to copy into existing projects.
- cairo.vim - (Outdated) vim syntax plugin for Cairo
- Cairo VS Code - VS Code syntax support for Cairo (requires manual installation)
- Cairo language support - Code assistance and compile error highlighting in VS Code.
To the extent possible under law, Georgios Konstantopoulos has waived all copyright and related or neighboring rights to this work.