Awesome
Cairo | Useful resources
A curated list of awesome Cairo resources, libraries, tools and more.
Join Cairo Gang – Telegram community of Cairo Devs 🚀
TL;DR
This list is created to help learn Cairo & Starknet ecosystem projects. This is not a unique list, you may found some alternative resources here:
- Awesome Starknet – a curated list of StarkNet projects
- Cairo Goldmine – A comprehensive, annotated list of repositories of the Starknet ecosystem
- starknet-libs - The ZkPad team will make sure to maintain a curated list of useful libraries to develop on Starknet
Community
- Cairo Gang – Telegram community of Cairo Devs 🚀
- Cairo Lang Twitter
- StarkNet Discord – The StarkNet server is where all StarkNet participants discuss and share
- Cairo Resource Guide – Official list with documentation, playground, whitepaper and many other resources
- StarkNet Сhina https://t.me/starknet_zh
- StarkNet ecosystem https://t.me/starknet_ecosystem
- StarkNet Discord https://discord.com/invite/qypnmzkhbc
- StarkNet Paris https://t.me/+wsO2W_-K7HgzZjBk
- StarkNet India https://t.me/starknetindia
- StarkNet LA group: https://t.me/+84DqakqR-vowYjY0
- StarkNet NY: https://t.me/+bYjV51CM1SIxY2Q0
- StarkNet Sydney: https://t.me/+XL7WrK9S1MYxZTk0
- Cairo Vietnam https://t.me/+dL-oY6-slrY3NDU1
- StarkNet versions update channel https://t.me/+EkT8aCg9R-xjZGU0
- For those going at Token2049 Singapore https://t.me/starknetToken2049Singapore_2022 / https://t.me/+Vzci6ob7QzphZTQ0
- For those going at DevCon Bogota https://t.me/starknetDevcon_2022
- EthLisbon – https://t.me/starknetEthLisbon_2022
- zkGraph telegram – https://t.me/+b9d7ytd9BQ5lZDA1
- DeFi and StarkNet – https://t.me/c/1676230148/7118
- Checkpoint.fyi group https://t.me/+dk7Q7FAVJ1oyMDFl
- Index Queries group: https://t.me/+NcG5Y4M6_kczMDVh
- StarkNet Ecosystem [non-tech]: https://t.me/+e8IlIwMUsI9kY2E0
- Starknet Core Stars Amsterdam: https://t.me/+S9iJ-F5g6302N2Y0
- Math for Cairo https://t.me/+M40ddcHHRDgzZjBk
- StarkNet Boston meetup https://t.me/+OIb9fn3Bmpc3Yjg0
- StarkNet Education [for edu projects]: https://t.me/+g3YrPwFimOdkN2Rh
Resources
Learn Cairo
Resources
- Intro Presentation from StarkNet Hackathon, 2022 – pdf with some useful exercises
- starknet-erc721 – Learn how to deploy and customize an ERC721 token on StarkNet
- Awesome Starknet – useful resources about Starknet, Cairo
- 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
- YouTube channel - Official StarkWare YouTube channel.
- Building a game fully on-chain – Ronan Sandford lecture from EthCC 3
- Ctrlc03 Cairo Security Guide - a comprehensive guide about Cairo Security for beginners and advanced users
- StarkNet Cairo 写合约 - Video tutorial for writing and deploying a contract using Cairo in Mandarin
Articles
- 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
- ZK-SNARK 介绍 - ZK-SNARK Introduction
- ZK-STARK 介绍 - ZK-STARK Introduction
Examples
- Cairo by Example - An introduction to Cairo with simple examples.
- starknet-cairo-101 - Interactive Cairo workshop using Voyager with puzzles and tokens as prizes.
- 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)
- Contracts Wizard for Cairo - Interactive smart contract generator based on OpenZeppelin Contracts for Cairo.
Libraries
- 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.
- cairo-lang-rs - Rust support for the Cairo programming language
- warp-to-cairo - A command line interface tool converting starknet warp transpiled outputs into readable cairo contracts
- tree-sitter-cairo - Tree sitter for CairoLang
- caigo - Golang Library.
- starknet-react - React hooks library.
- cairo_kernel - Jupyter kernel for Cairo
Bridging
- Warp – Solidity to StarkNet, making it possible to transpile Ethereum smart contracts to StarkNet Cairo Contracts.
- skyro-compiler - Skyro compiles programs written in Idris2 to Cairo
- Starknet Message Bridge – This is an automated workshop that will explain how to use the StarkNet L1 <-> L2 messaging bridge to create powerful cross layer applications.
IDE
Vim
- cairo.vim - (Outdated) vim syntax plugin for Cairo
Visual Studio Code
- Cairo VS Code - VS Code syntax support for Cairo (requires manual installation)
- Cairo language support - Code assistance and compile error highlighting in VS Code.
Sublime
- Ethereum – Ethereum Solidity, Vyper, Yul and StarkNet Cairo language syntaxes
Jobs
Gaming
- RYO - A modular game engine architecture for the StarkNet L2 roll-up.
- realms-contracts - Realms Monorepo for Ethereum Contracts and Starknet contracts.
- chess-cairo - A Cairo contract to play chess in Starknet.
- Ogame-Cairo - Ogame implementation written in cairo
- contract - The StarkNet Eykar smartcontract. A decentralized game of conquest powered by blockchain. An almost infinite territory that can be conquered through alliances and wars.
- axelrod - Iterated prisoner's dilemma tournaments implemented with Cairo
- tictactoe-on-starknet - RL-driven agent playing tic-tac-toe on starknet against challengers.
- physics-puzzle-starknet - Physics puzzle on StarkNet
- GoL2 - Cellular automata on replicated state machine
- cryptsandcaverns - Crypts and Caverns monorepo
- STARK-Combat - Verifying complex auto battler calculation on Ethereum
- MatchBox-Hackathon-StarkDeck - A (very) minimalistic PoC controller for game dynamics
- TINIH - A (very) minimalistic PoC controller for game dynamics
- starknet-indexer - StarkNet Indexer for the Loot ecosystem
- zk-stark-sudoku-prover - Proves knowledge of solutions to Sudoku puzzles without disclosing the solutions
- starknet-upgradeable-template - Inspired/copied from DOPE wars architecture: Starter initialized with nile CLI with a arbiter-controller-module skeleton
- QuantumQuests - Forgotten Quests implementation in Cairo
- starkworld_hackathon - StarkWorld is a 3D game built on StarkNet, player can mint a land NFT (ERC721) and build on the land
- Dragon Quest - Dragon Quest is a dungeon game designed for Realms adventurers, player can mint an adventurer then go to slay dragons.