Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/polyfire-ai/cairo-resources-list

A curated list of awesome Cairo resources, libraries, tools and more.
https://github.com/polyfire-ai/cairo-resources-list

Last synced: about 2 months ago
JSON representation

A curated list of awesome Cairo resources, libraries, tools and more.

Lists

README

        

# Cairo | Useful resources

A curated list of awesome Cairo resources, libraries, tools and more.

**Join [Cairo Gang](https://t.me/+XUKxiUisflE0MTRk) – 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](https://github.com/gakonst/awesome-starknet) – a curated list of StarkNet projects
- [Cairo Goldmine](https://github.com/beautyisourbusiness/cairo-goldmine) – A comprehensive, annotated list of repositories of the Starknet ecosystem
- [starknet-libs](https://github.com/ZkPad-Labs/starknet-libs) - The ZkPad team will make sure to maintain a curated list of useful libraries to develop on Starknet

## Community

- [Cairo Gang](https://t.me/+XUKxiUisflE0MTRk) – Telegram community of Cairo Devs 🚀
- [Cairo Lang Twitter](https://mobile.twitter.com/cairolang)
- [StarkNet Discord](https://discord.com/invite/starknet)  – The ***StarkNet*** server is where all ***StarkNet*** participants discuss and share
- [Cairo Resource Guide](https://www.cairo-lang.org/resource-guide/) – Official list with documentation, playground, whitepaper and many other resources
- StarkNet Сhina [https://t.me/starknet_zh](https://t.me/starknet_zh)
- StarkNet ecosystem [https://t.me/starknet_ecosystem](https://t.me/starknet_ecosystem)
- StarkNet Discord [https://discord.com/invite/qypnmzkhbc](https://discord.com/invite/qypnmzkhbc)
- StarkNet Paris [https://t.me/+wsO2W_-K7HgzZjBk](https://t.me/+wsO2W_-K7HgzZjBk)
- StarkNet India [https://t.me/starknetindia](https://t.me/starknetindia)
- StarkNet LA group: [https://t.me/+84DqakqR-vowYjY0](https://t.me/+84DqakqR-vowYjY0)
- StarkNet NY: [https://t.me/+bYjV51CM1SIxY2Q0](https://t.me/+bYjV51CM1SIxY2Q0)
- StarkNet Sydney: [https://t.me/+XL7WrK9S1MYxZTk0](https://t.me/+XL7WrK9S1MYxZTk0)
- Cairo Vietnam [https://t.me/+dL-oY6-slrY3NDU1](https://t.me/+dL-oY6-slrY3NDU1)
- StarkNet versions update channel [https://t.me/+EkT8aCg9R-xjZGU0](https://t.me/+EkT8aCg9R-xjZGU0)
- For those going at Token2049 Singapore [https://t.me/starknetToken2049Singapore_2022 /](https://t.me/starknetToken2049Singapore_2022) [https://t.me/+Vzci6ob7QzphZTQ0](https://t.me/+Vzci6ob7QzphZTQ0)
- For those going at DevCon Bogota [https://t.me/starknetDevcon_2022](https://t.me/starknetDevcon_2022)
- EthLisbon – [https://t.me/starknetEthLisbon_2022](https://t.me/starknetEthLisbon_2022)
- zkGraph telegram – [https://t.me/+b9d7ytd9BQ5lZDA1](https://t.me/+b9d7ytd9BQ5lZDA1)
- DeFi and StarkNet – [https://t.me/c/1676230148/7118](https://t.me/c/1676230148/7118)
- [Checkpoint.fyi](http://Checkpoint.fyi) group [https://t.me/+dk7Q7FAVJ1oyMDFl](https://t.me/+dk7Q7FAVJ1oyMDFl)
- Index Queries group: [https://t.me/+NcG5Y4M6_kczMDVh](https://t.me/+NcG5Y4M6_kczMDVh)
- StarkNet Ecosystem [non-tech]: [https://t.me/+e8IlIwMUsI9kY2E0](https://t.me/+e8IlIwMUsI9kY2E0)
- Starknet Core Stars Amsterdam: [https://t.me/+S9iJ-F5g6302N2Y0](https://t.me/+S9iJ-F5g6302N2Y0)
- Math for Cairo [https://t.me/+M40ddcHHRDgzZjBk](https://t.me/+M40ddcHHRDgzZjBk)
- StarkNet Boston meetup [https://t.me/+OIb9fn3Bmpc3Yjg0](https://t.me/+OIb9fn3Bmpc3Yjg0)
- StarkNet Education [for edu projects]: [https://t.me/+g3YrPwFimOdkN2Rh](https://t.me/+g3YrPwFimOdkN2Rh)

# Resources

# Learn Cairo

### Resources

- [Intro Presentation from StarkNet Hackathon, 2022](https://docs.google.com/presentation/d/1E1b2uecN4Fr1S94hPQx-s7vb4EoNVk2Qv-jiJ6eUwB4/edit?usp=sharing) – pdf with some useful exercises
- [starknet-erc721](https://github.com/starknet-edu/starknet-erc721) – Learn how to deploy and customize an ERC721 token on StarkNet
- [Awesome Starknet](https://github.com/gakonst/awesome-starknet) – useful resources about Starknet, Cairo
- [StarkNet and Cairo Documentation](https://www.cairo-lang.org/docs/index.html) - Official Documentation.
- [Setting up the environment](https://www.cairo-lang.org/docs/quickstart.html) - How to install Cairo and StarkNet.
- [How Cairo Works](https://www.cairo-lang.org/docs/how_cairo_works/index.html) - Low-level explanation of Cairo's mechanics.
- [Hello StarkNet](https://www.cairo-lang.org/docs/hello_starknet/index.html) - Tutorial for writing and deploying a contract.
- [Hello Cairo](https://www.cairo-lang.org/docs/hello_cairo/index.html) - Tutorials for writing various simple Cairo contracts.
- [Cairo Reference](https://www.cairo-lang.org/docs/reference/index.html) - Explanation of Cairo's syntax
- [Cairo – a Turing-complete STARK-friendly CPU architecture](https://eprint.iacr.org/2021/1063.pdf) - Cairo Whitepaper
- [A verified algebraic representation of Cairo program execution](https://arxiv.org/abs/2109.14534) - Proof Cairo's soundness using the [Lean proof assistant](https://en.wikipedia.org/wiki/Lean_(proof_assistant))
- [Cairo Playground](https://www.cairo-lang.org/playground/) - In-browser Cairo IDE, examples and puzzles
- [YouTube channel](https://www.youtube.com/channel/UCnDWguR8mE2oDBsjhQkgbvg/playlists) - Official StarkWare YouTube channel.
- [Building a game fully on-chain](https://youtu.be/3_WLjLsYUbM) – Ronan Sandford lecture from EthCC 3
- [Ctrlc03 Cairo Security Guide](https://ctrlc03.github.io) - a comprehensive guide about Cairo Security for beginners and advanced users
- [StarkNet Cairo 写合约](https://www.youtube.com/playlist?list=PLrxZweTBwVCtjAJIzZWrZATuhekC9eIjX) - Video tutorial for writing and deploying a contract using Cairo in Mandarin

### **Articles**

- [Going all in - starknet](https://www.notion.so/going-all-in-starkware-f250983d562c454384384a5408bddf9c) Notion site of helpful resources
- [Perama's Blog](https://perama-v.github.io/cairo/intro/) - Large set of educational StarkNet / Cairo resources
- [Practical StarkNet lessons learned](https://hackmd.io/@RoboTeddy/BJZFu56wF) - Helpful tips for new StarkNet/Cairo programmers
- [Cairo Common Library](https://perama-v.github.io/cairo/cairo-common-library/) - Docs for the Cairo Common Library (stdlib equivalent)
- [Cairo Concepts Overview](https://perama-v.github.io/cairo/description/) - High level overview of concepts encountered in the Cairo ecosystem (Ethereum, Smart Contracts, Decentralization, Scaling, L2, Rollups, ZKPs etc.)
- [Account Abstraction](https://perama-v.github.io/cairo/account-abstraction/) - Explanation of StarkNet's account abstraction
- [Test Accounts](https://perama-v.github.io/cairo/examples/test_accounts/) - Explanation of building test accounts
- [ZK-SNARK 介绍](https://mirror.xyz/0x93158035d2FF0f03ea0686B508162EA3E62c8815/V89AljpttCmNM_vgJDtGZwwGmRWfTga6JmxFfqWhlUk) - ZK-SNARK Introduction
- [ZK-STARK 介绍](https://mirror.xyz/0x93158035d2FF0f03ea0686B508162EA3E62c8815/7o0kE6pylEN_GRUuXYkq8GXgXhZ3FoWQn_RgaOILbbM) - ZK-STARK Introduction

### **Examples**

- [Cairo by Example](https://perama-v.github.io/cairo/by-example/) - An introduction to [Cairo](https://www.cairo-lang.org/) with simple examples.
- [starknet-cairo-101](https://github.com/l-henri/starknet-cairo-101) - Interactive Cairo workshop using [Voyager](https://voyager.online/) with puzzles and tokens as prizes.
- [Skeleton for StarkNet](https://perama-v.github.io/cairo/examples/building_blocks/skeleton/program_starknet.html)
- Quick example of a Minimum verifiable program
- [Skeleton for SHARP](https://perama-v.github.io/cairo/examples/building_blocks/skeleton/program_sharp.html)
- 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](https://wizard.openzeppelin.com/cairo) - Interactive smart contract generator based on OpenZeppelin Contracts for Cairo.

## **Libraries**

- [get-starknet](https://github.com/starknet-community-libs/get-starknet) - wallet <-> dApp bridge.
- [starknet.js](https://github.com/seanjameshan/starknet.js) - Javascript library
- [starknet.py](https://github.com/software-mansion/starknet.py) - Python library
- [starknet-rs](https://github.com/xJonathanLEI/starknet-rs) - Rust library
- [starknet-hardhat-plugin](https://github.com/Shard-Labs/starknet-hardhat-plugin) - A plugin for integrating Starknet tools into Hardhat projects
- [cairo-contracts](https://github.com/OpenZeppelin/cairo-contracts) - OpenZeppelin Contracts written in Cairo
- [cairomate](https://github.com/a5f9t4/cairomate) - Structured, dependable legos for Starknet development.
- [cairo-lang-rs](https://github.com/mattsse/cairo-lang-rs) - Rust support for the Cairo programming language
- [warp-to-cairo](https://github.com/kootsZhin/warp-to-cairo) - A command line interface tool converting starknet warp transpiled outputs into readable cairo contracts
- [tree-sitter-cairo](https://github.com/pscott/tree-sitter-cairo) - Tree sitter for CairoLang
- [caigo](https://github.com/dontpanicdao/caigo) - Golang Library.
- [starknet-react](https://github.com/auclantis/starknet-react) - React hooks library.
- [cairo_kernel](https://github.com/ankitchiplunkar/cairo-jupyter) - Jupyter kernel for Cairo

**Bridging**

- [Warp](https://github.com/NethermindEth/warp) – Solidity to StarkNet, making it possible to transpile Ethereum smart contracts to StarkNet Cairo Contracts.
- [skyro-compiler](https://github.com/skyro-compiler/skyro) - Skyro compiles programs written in Idris2 to Cairo
- [Starknet Message Bridge](https://github.com/starknet-edu/starknet-messaging-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](https://github.com/miguelmota/cairo.vim) - (Outdated) vim syntax plugin for Cairo

**Visual Studio Code**

- [Cairo VS Code](https://www.cairo-lang.org/docs/quickstart.html#visual-studio-code-setup) - VS Code syntax support for Cairo (requires manual installation)
- [Cairo language support](https://marketplace.visualstudio.com/items?itemName=ericglau.cairo-ls) - Code assistance and compile error highlighting in VS Code.

**Sublime**

- [Ethereum](https://packagecontrol.io/packages/Ethereum) – Ethereum Solidity, Vyper, Yul and StarkNet Cairo language syntaxes

## Jobs

- [Cairo engineers at Immutable](https://discord.com/channels/793094838509764618/898210860030386178/898330663281905725).

## Gaming

- [RYO](https://github.com/dopedao/RYO) - A modular game engine architecture for the StarkNet L2 roll-up.
- [realms-contracts](https://github.com/BibliothecaForAdventurers/realms-contracts) - Realms Monorepo for Ethereum Contracts and Starknet contracts.
- [chess-cairo](https://github.com/greenlucid/chess-cairo) - A Cairo contract to play chess in Starknet.
- [Ogame-Cairo](https://github.com/ametel01/Ogame-Cairo) - Ogame implementation written in cairo
- [contract](https://github.com/age-of-eykar/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](https://github.com/lucadonnoh/axelrod) - Iterated prisoner's dilemma tournaments implemented with Cairo
- [tictactoe-on-starknet](https://github.com/guiltygyoza/tictactoe-on-starknet) - RL-driven agent playing tic-tac-toe on starknet against challengers.
- [physics-puzzle-starknet](https://github.com/guiltygyoza/physics-puzzle-starknet) - Physics puzzle on StarkNet
- [GoL2](https://github.com/perama-v/GoL2) - Cellular automata on replicated state machine
- [cryptsandcaverns](https://github.com/threepwave/cryptsandcaverns) - Crypts and Caverns monorepo
- [STARK-Combat](https://github.com/KillariDev/STARK-Combat) - Verifying complex auto battler calculation on Ethereum
- [MatchBox-Hackathon-StarkDeck](https://github.com/AdeptusDigitales/MatchBox-Hackathon-StarkDeck) - A (very) minimalistic PoC controller for game dynamics
- [TINIH](https://github.com/exp-table/TINIH) - A (very) minimalistic PoC controller for game dynamics
- [starknet-indexer](https://github.com/BibliothecaForAdventurers/starknet-indexer) - StarkNet Indexer for the Loot ecosystem
- [zk-stark-sudoku-prover](https://github.com/gsgalloway/zk-stark-sudoku-prover) - Proves knowledge of solutions to Sudoku puzzles without disclosing the solutions
- [starknet-upgradeable-template](https://github.com/micksabox/starknet-upgradeable-template) - Inspired/copied from DOPE wars architecture: Starter initialized with nile CLI with a arbiter-controller-module skeleton
- [QuantumQuests](https://github.com/Meph1587/QuantumQuests) - Forgotten Quests implementation in Cairo
- [starkworld_hackathon](https://github.com/0xbohu/starkworld_hackathon) - StarkWorld is a 3D game built on StarkNet, player can mint a land NFT (ERC721) and build on the land
- [Dragon Quest](https://github.com/0xAsten/dragon-quest) - Dragon Quest is a dungeon game designed for Realms adventurers, player can mint an adventurer then go to slay dragons.