Awesome
<div align="center"> <img alt="starknet logo" src="./assets/starknet.png" width="200" > <h1 align="center">Awesome Starknet</h1> <p align="center"> <a href="https://github.com/sindresorhus/awesome"> <img alt="awesome list badge" src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"> </a> <a href="#buildstatus"> <img alt="build status badge" src="https://github.com/gakonst/awesome-starknet/workflows/Build/badge.svg"> </a> <a href="https://github.com/gakonst/awesome-starknet/graphs/contributors"> <img alt="GitHub contributors" src="https://img.shields.io/github/contributors/gakonst/awesome-starknet"> </a> <a href="http://makeapullrequest.com"> <img alt="pull requests welcome badge" src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat"> </a> </p> <p align="center">A curated list of awesome <a href="https://medium.com/starkware/starknet-alpha-is-coming-to-mainnet-b825829eaf32">Starknet</a> resources, libraries, tools and more.</p> <p align="center">This list is based on Cairo 1. You can still access the previous archived <a href="CAIRO_0_ARCHIVE.md">Cairo 0 Awesome Starknet</a>.</p> <p align="center">Please check the <a href="CONTRIBUTING.md">contribution guidelines</a> for information on formatting and writing pull requests.</p> </div>Contents
Resources
Official
- Starknet Website - Official Website.
- Starknet Documentation - Official Documentation.
- Cairo Documentation - Official Cairo 1.0 Documentation.
- Cairo Playground - Experiment writing Cairo online without deploying a smart contract on Starknet.
- The Cairo Book - In-depth guide to Cairo.
- Roadmap - What’s coming next for Starknet.
- SNIPs - Starknet Improvement Proposals (SNIPs) repository.
- StarkWare YouTube channel - Official StarkWare YouTube channel.
- starkware-libs/cairo - Official Cairo Github repository.
- Starknet Foundation YouTube channel - Official Starknet Foundation YouTube channel.
Tutorials and Examples
- Starknet by Example - Collection of examples from beginner concepts to advanced.
- Cairo by Example - Introduction to Cairo, with simple examples.
- Starklings - Interactive tutorial to get you up and running with Cairo v1 and Starknet.
- Node Guardians - Cairo 1.0 interactives tutorials.
- Exercism Cairo Track - Learn and master Cairo through hands-on exercises with community-powered mentorship.
- Starknet messaging tutorial - Detailed tutorial to test messaging with Anvil and Katana.
- Starknet Lesson - The latest and best Cairo course classroom.
- Starknet AI agent - AI-powered guide for Starknet learning, development, and Cairo coding assistance.
- Starknet's Counter Workshop - Learn to write your first Cairo smart contract with this step-by-step exercise.
- STARK 101 - Hands-on tutorial on how to write a STARK prover from scratch (in Python).
- Starknet’s Account Abstraction Workshop - Practice how to create an account contract with a single signer that uses the STARK-friendly elliptic curve to sign transactions.
Video Resources
- Basecamp X recordings - Learn Starknet from basics to advanced with the Starknet Foundation team.
- Cairo Zero to Hero - Video series teaching Starknet development and Cairo programming.
- Analyzing onchain data - Learn how to analyze onchain data on Starknet using Apibara and ChatGPT.
- Build a Game with Dojo - Learn how to build a game on Starknet with Dojo, a Provable Game Engine.
- Become a Starknet Core Developer - In-depth exploration of becoming a Core Developer in the Starknet ecosystem.
- StarknetCC 2024 Talks
Articles and Blogs
- Starknet Blog Posts - Official blog.
- Developers Blog - Official Developers Blog.
- Starknet research hub - The place to learn more about the Starket ecosystem and stay-up-to-date with the latest news.
- Cairopractice - Cairo blog.
Papers
- 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.
Cryptography and maths
- Vitalik's STARKs series.
- Video: zk-STARKs Uncovered - Eli Ben-Sasson's Intense Masterclass, Basecamp Cohort.
- Video: STARK 101 Workshop
- Video: Stark @ Home
- STARK Math: The Journey Begins - Starkware's series of blog posts explaining the theory behind STARKs.
- ethSTARK Documentation - Computational integrity of STARKs explanation.
- STARK Paper
- FRI Protocol
- DEEP-FRI Protocol
- Aurora - Transparent Succinct Arguments for R1CS.
- STARK: Endgame
Audits
Wallet
Block explorers
- Voyager
- Starkscan
- Viewblock
- NFTScan - Explore any NFT data on Starknet.
- OKLink
- Stark Compass - Open source explorer
Bridges and on-ramps
- Starkgate - The official bridge.
- Bridges and on-ramps - List of bridges and on-ramps.
Monitoring tools
- Starknet Monitor - Vital statistics about Starknet.
- Starknet Status - Provides timely status information about the health of Starknet sequencing.
Ecosystem
Dapps
- Starknet Ecosystem - The community-driven initiative to showcase projects and teams building.
- Dappland - Discover dapps.
- Ethereum Ecosystem - Unofficial Ecosystem page for Ethereum and some of its Layer 2s like Starknet.
Community
- Starknet Community Forum - Official forum.
- Discord - Official Discord.
- Twitter - Official tarknet Twitter.
- Telegram Core Stars - Cairo Core Stars Pharaohs group.
- Online communities - List of online communities.
- Starknet MEV - MEV group.
Governance
- Starknet Governance - Official Governance page.
- Snapshot proposals - Snapshot proposals.
- Community discussions
- Starknet Foundation - Introduction to the Starknet Foundation.
- Starknet Foundation committees - Introduction to the Starknet Foundation committees.
Events
- Upcoming events - List of upcoming events.
- StarknetCC - Starknet Community Conference.
Open-source and jobs
- Keep Starknet Strange - Starkware Exploration team to kickstart exciting projects.
- OnlyDust - Contribute to innovative projects.
- Nethermind Jobs - Join Nethermind's remote-first, close-knit crew of builders and tech professionals.
- Equilibrium Labs - Explore the R&D company behind Pathfinder.
Additional developer resources
Developer Tools
- Starknet developer tools - Official developer tools documentation.
- Setting up your environment - Environment setup guide.
- Starkli - The recommended CLI.
- Scarb - The recommended build toolchain and package manager.
- scarbs.xyz - Cairo package repository.
- Vscode Cairo extension - Official Cairo extension for VSCode with diagnostics, go-to-definition, completion and more.
- Vim plugin for Scarb projects
- Vim syntax highlighting - Vimscript syntax file supporting Cairo 1 and 0.
- Vim CoC Scarb language server - Scarb language server setup for the coc.nvim plugin.
- Starknet Foundry - Toolchain for smart contracts development, testing and deployment.
- Starknet Remix - The official Starknet plugin for Remix, a browser-based IDE without the need for any installation.
- Starknet Devnet - Local testnet.
- Katana - High performance sequencer that can be used as a local testnet.
- Starknet Hardhat plugin - The Starknet Hardhat plugin.
- docker-cairo - Multi-arch Docker images with Cairo binaries.
- cairo-profiler - Profiler for Cairo.
Starknet SDKs
- starknet.js - Javascript library.
- starknet.py - Python library.
- starknet-rs - Rust library.
- starknet.go - Golang library.
- starknet-jvm - Library for JVM languages (java, kotlin and others).
- starknet.dart - Dart library for mobile.
Cairo VMs
- cairo-vm - Rust implementation of the Cairo VM.
- cairo-vm-go - Golang implementation of the Cairo VM.
- cairo-vm_in_go - Another Golang implementation.
- cairo-zig - Zig implementation of the Cairo VM.
Node implementations
- Juno - Golang full-node implementation.
- Papyrus - Rust full-node implementation.
- Pathfinder - Rust full-node implementation.
- Deoxys - Substrate full-node implementation.
- Beerus - Rust light-client implementation.
Provers
- StarkEx - Starkware verifier.
- STONE - Prover and verifier for STARKs
- sandstorm - Cairo prover powered by miniSTARK.
- awesome-prover-mechanisms - Awesome list of resources for prover mechanisms in the zkrollup ecosystem.
Cairo libraries
- OpenZeppelin contracts-cairo - OpenZeppelin Contracts in Cairo.
- Alexandria - Collection of useful algorithms and data structures implemented in Cairo.
- Garaga - Efficient pairing library using polynomial representation of field elements.
- Herodotus cairo-lib - Set of Data Structures, Encoding, Hashers and Utilities for Cairo.
- xoroshiro-cairo - Xoroshiro PRNG implementation in Cairo.
- graffiti - Library for building XML based documents (SVG, HTML, RSS).
- Origami - Dojo's gaming library.
- Cubit - Fixed point math library.
Cairo plugins
- hello-cairo-plugin - Example Cairo plugin.
Dapps libraries
- Starknet React - React hooks library.
- get-starknet - Starknet's official wallet SDK for developers.
- vue-stark-boil - Vue.js boilerplate.
- starknet-url - Build & parse Starknet URLs.
- starknet-deeplink - Starknet deeplink generator.
- Scaffold-Stark- Build dapps using NextJS, Starknet.js, Scarb, Starknet-React, Starknet Foundry and Typescript.
- Starknet Scaffold - An open-source up-to-date toolkit for building decentralized applications (dapps) on Starknet.
Other libraries
- Starknet in Rust - Rust implementation of Starknet execution logic.
- starknet-zig - Starknet library in Zig.
- types-js - TypeScript types.
- types-rs - Rust types.
- poseidon-rs - Poseidon Rust library.
- cairo_native - Compiler to convert Sierra to machine code via MLIR and LLVM.
- tree-sitter-cairo - Cairo 1.0 grammar for tree-sitter.
- scure-starknet - Minimal JS implementation of Starknet cryptography.
- wasm-cairo - Wasm bindings for Cairo.
- starknet-abigen-rs - Cairo ABI parser and generator in Rust.
- starknet-devnet-js - Interact with the Devnet using this JS provider.
- Cainome - Library to generate bindings from Cairo ABI.
Sequencers
- Madara - Sequencer based on substrate.
- Kraken - Sequencer by LambdaClass.
- Gomu Gomu no Gatling - Benchmark tools for sequencers.
ZkEvm
- Kakarot - ZK-EVM type 3 written in Cairo.
Gaming
- Dojo Engine - The Provable Game Engine.
- Awesome Dojo - Curated list of awesome Dojo resources.
- Starknet Unity SDK
AI
- Gizatech
- Orion - Provable Machine Learning framework.
- Tic-Tac-Stark - Provable Tic-Tac-Toe AI model using Orion and Cairo.
- neural-network-cairo - Neural Network implementation from scratch for MNIST.
- drive-ai - Self driving car AI with Dojo.
Storage Proofs
- Herodotus - Secure On-Chain Data Access Solutions using Storage Proofs.
Security
- Caracal - Static Analyzer for smart contracts.
- semgrep-cairo-rules - Semgrep rules for Cairo 1.0.
- Toth - Security toolkit (bytecode analyzer, disassembler, decompiler, symbolic execution, SBMC).
- Underhanded Cairo
- An introduction to Cairo 1 smart-contracts security
- Under the hood of Cairo 1.0: Exploring Sierra
- Adventures with Account Abstraction – Risks and Mitigations in __validate__
- Auditing Cairo 1.0 Contracts
- Video: Cairo Security (Peteris Erins)
- Awesome Starknet Security - Curated list of awesome Starknet security resources.
Oracles
- Chainlink Data Feeds - Real-world data available for DeFi dApps on Starknet.
- Pragma - Decentralized, transparent and composable oracle network.
- Pyth Data Feed - Data from real-world markets.
Indexers
- Checkpoint - GraphQL indexing library.
- Apibara - Open source indexer.
- dipdup-io/starknet-indexer
- SQD - Web3’s largest data lake.
Misc
- Cairo Utils - Web-based utility converter.
- StarkTx - StarkTx Transaction Decoder.
- rika-chan - CLI toolkit.
- jin - Contract storage dumper.
- kipt - Collections of Lua scripts to manage contracts.
- rifle - Blocktime estimator in Rust.
- crypto-ecosystems/starknet - Starknet raw ecosystem data.
Open-source projects
Defi
- Satoru - Synthetics platform, inspired by GMX v2 design.
- zohal-interface - Zohal's Satoru interface.
- YAS - YAS is Yet Another Swap.
- Avnu Contracts - Liquidity aggregator written in Cairo.
- Cygnus - Cygnus contract.
- Carmine Protocol - Carmine Options AMM.
- 10kswap Contracts - Decentralized ZK Rollup AMM.
- ZkLend v1 - ZkLend v1 core contracts.
- Fibrous Contracts V1 - Fibrous Finance Router Contracts V1.
- Fibrous SDK - Fibrous SDK.
- Fibrous Python SDK - Fibrous Python SDK.
- Fibrous Limit Order SDK - Fibrous Limit Order SDK.
- Fibrous Limit Order Python SDK - Fibrous Limit Order Python SDK.
Gaming
- Bibliotheca DAO
- Realms World - Realms Autonomous World.
- Eternum
- Loot Survivor - Onchain arcade.
- Roll Your Own
- Stark-lander
- PixeLAW
- Tsubasa
Governance
- Carmine Governance - Carmine Governance contracts.
Infrastructure
- Nori - RPC request router, proxy and load balancer.
Misc
- Tokei - ERC20 token streaming protocol.
- Focus Tree - Focus Tree Contracts.
- Starknet.id - On-chain identity.
- Carbon Protocol - Carbon Protocol written in Cairo.
- StarkRevoke - Revoke your ERC20 and ERC721 approvals.
- Batchor - Batch your ERC20 transfers with a CSV file.
- entro - CLI tool to backfill and decode chain data.
License
To the extent possible under law, Keep Starknet Strange has waived all copyright and related or neighboring rights to this work.