• This repository has been archived on 20/Jun/2024
  • Stars
    star
    824
  • Rank 55,348 (Top 2 %)
  • Language
    CSS
  • Created over 2 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Mastering Starknet. By the Starknet community

Welcome to The Starknet Book

Important
The Starknet Book is a work in progress, and its content is rapidly evolving as the community contributes to its development. As a result, some sections may be incomplete or contain information that is still green. We highly encourage readers to contribute by suggesting improvements, providing feedback, or submitting new content to help us expand and refine the book. Your contributions are invaluable in making The Starknet Book a comprehensive and reliable resource for the community.

The Starknet Book is a curriculum created to teach the Cairo programming language and Starknet development. It is divided by Chapters and built by the Starknet community (you!). Finish the resume and you will conquer the Ethereum world.

Contents

Chapter

Objective

1: Introduction to Starknet

Grasp Starknet’s basics and get introduced to deploying smart contracts.

2: Smart Contracts in Cairo

Write Cairo smart contracts suited for Starknet.

3: Starknet Tooling

Learn to work with tools such as Protostar or Hardhat, and languages like Javascript, Python, Rust for interacting with Starknet.

4: Starknet Architecture

Discover the inner workings of Starknet, including the transaction lifecycle and the interaction of Sequencer, Prover, and Nodes.

5: Account Abstraction

Understand the concept of user accounts in Starknet and the process of creating custom accounts.

6: Pioneering Applications

Delve into cutting-edge applications on Starknet like On-Chain AI and Storage Proofs.

7: Cairo CPU Architecture

Deep dive into the architecture of the Cairo virtual machine, its memory model, opcodes, and compiler.

8: STARKs

Understand STARKs and their integration into various aspects of Starknet.

Where to Start?

Depending on your goals and interests, you can choose different paths through the Starknet Book. Here are some recommendations based on various objectives:

  • If you’re a complete beginner and want to start learning about Cairo and Starknet from scratch, follow the book in its entirety, starting with Introduction to Starknet.

  • If you’re an experienced developer looking to quickly dive into writing scalable and decentralized smart contracts, focus on Smart Contracts in Cairo and Starknet Tooling.

  • If you’re a frontend developer wanting to integrate Starknet with a React frontend using Javascript, prioritize the starknet-js and starknet-react subchapters in Starknet Tooling

  • If you’re a DevOps engineer or node operator interested in running a Starknet node and indexer, head straight to Starknet Architecture.

  • If you’re a security researcher or smart contract auditor wanting to learn about the Account Abstraction feature and its implications, go for Account Abstraction.

  • If you’re a blockchain enthusiast curious about the underlying architecture and mechanics of Starknet and Cairo, explore Starknet and Cairo CPU Architecture.

  • If you’re a cryptography expert or researcher eager to understand the fundamentals of STARKs and their connection to the Starknet ecosystem, delve into STARKs.

Feel free to mix and match these paths based on your unique interests and requirements.

Your Contributions Matter

We’re thrilled to have you join us on this incredible journey to create the ultimate resource for Cairo and Starknet development. By contributing to the Starknet Book, you’re not only sharing your knowledge and expertise with the world, but you’re also helping shape the future of decentralized technology. Together, we’ll build a comprehensive, accessible, and engaging curriculum that will empower developers everywhere to harness the full potential of Starknet.

As a contributor, you’ll be part of a vibrant and growing community dedicated to pushing the boundaries of what’s possible with decentralized technology. You’ll have the opportunity to collaborate with like-minded individuals from around the globe, share your unique insights, and learn from one another. Your contributions will not only enrich the Starknet community but also leave a lasting impact on the broader field of blockchain technology.

So, are you ready to embark on this epic adventure? Let’s dive in and explore the vast and exciting world of Starknet together. Here’s to the countless discoveries, breakthroughs, and innovations that await us!

Please refer to the existing Contributors Guide for detailed instructions on how to contribute. Remember, every contribution, no matter how small, makes a difference. Your expertise and passion are invaluable in helping us create a truly exceptional resource for the Starknet community. Let’s make history together!

Here are things you can do to help:

  • In most sections there is a message for builders who want to collaborate with content.

  • Empty section in a Chapter? Go for it!

  • Do you think the Starknet Book needs an additional section? Propose it.

  • Can a section be improved? Feel free to modify it.

  • Do you want to add an alternative programming language for the examples? Yes please.

  • Correct the bugs if you find any.

  • Please add an explanation in the exercise comments if you feel they need them.

  • Add exercises that show your favorite feature of Cairo.

Additional Key Educational Resources

We’ve compiled a list of valuable educational resources that will help deepen your understanding and enhance your skills in coding with Cairo and staying abreast with Starknet developments:

  1. Starklings: A resource specifically designed to guide you through learning Cairo programming, ensuring that you reach a proficient level. You can access it here.

  2. Starknet Community Forum: An online platform where you can engage in discussions about the latest developments in Starknet. Join the conversation here.

  3. Starknet Documentation: You can browse through the documentation here.

  4. Cairo Documentation: Explore it here.

  5. Starknet Developer Telegram (English): A community for English-speaking Starknet developers. This is a great platform for networking, sharing ideas, and troubleshooting together. Join us on Telegram here.

Starknet Book Authors

We extend our sincere gratitude to these exceptional individuals who have made invaluable contributions to the Starknet Book:

4755430?v=4&s=100

Omar Espejel

113911244?v=4&s=100

James Stark

16685321?v=4&s=100

Dr Spaceman

27683905?v=4&s=100

Gyan

22731646?v=4&s=100

Henri

2279046?v=4&s=100

David Barreto

30735581?v=4&s=100

Remedcu

73983677?v=4&s=100

Omahs

70894690?v=4&s=100

Lucas @ Starkware

33158502?v=4&s=100

Qd-Qd

12909374?v=4&s=100

Oboulant

63842643?v=4&s=100

Code Whizperer

2437994?v=4&s=100

Avi Mak

36516516?v=4&s=100

Robert Kodra

49245208?v=4&s=100

Manmit Singh

85268534?v=4&s=100

Lvis Wang

98833290?v=4&s=100

Leablock

113949669?v=4&s=100

Carlos Lira

21693926?v=4&s=100

Artur Vargas

126797224?v=4&s=100

Lorcan-codes

117481421?v=4&s=100

Devnet0x

2848732?v=4&s=100

Ivan Pavičić

67330943?v=4&s=100

Raphael Ndonga

114395459?v=4&s=100

Asten

35219743?v=4&s=100

Trangnv

102651969?v=4&s=100

0xKubitus

12902455?v=4&s=100

Evolve Art

112663528?v=4&s=100

Nadai

30095502?v=4&s=100

Prince Anuragi

876976?v=4&s=100

Ccolorado

95504156?v=4&s=100

Diego Hermida

105909776?v=4&s=100

0x180db

11048263?v=4&s=100

Shramee Srivastav

31094102?v=4&s=100

Santala

13951843?v=4&s=100

Satyam Bansal

25623039?v=4&s=100

Zé Diogo

106890011?v=4&s=100

Pikkuherkko

2940022?v=4&s=100

Davide Silva

22482966?v=4&s=100

Leapalazzolo

65915812?v=4&s=100

Keivin

87354252?v=4&s=100

lambda-0x

22297601?v=4&s=100

David Lange

46480795?v=4&s=100

0xlenny

125185051?v=4&s=100

razlandau

24778804?v=4&s=100

neelkamath

75367288?v=4&s=100

Mohamed Abdessamed

More Repositories

1

starknet-cairo-101

Learn how to read Cairo code
Cairo
471
star
2

starknet-messaging-bridge

Learn how to build StarkNet <-> Ethereum cross layer applications
Cairo
132
star
3

starknet-accounts

Learn how to build and deploy StarkNet Accounts
Cairo
66
star
4

starknet-erc721

Learn how to deploy and customize an ERC721 token on StarkNet
Cairo
56
star
5

starknet-erc20

Learn how to deploy and customize an ERC20 token on StarkNet
Cairo
43
star
6

starknet-debug

Learn how to debug a StarkNet smart contract
Cairo
43
star
7

counter-workshop

Code for Counter Workshop using latest Starknet syntax.
Shell
40
star
8

deploy-cairo1-demo

Cairo
25
star
9

walking-with-starknet

Cairo and StarkNet educational guides in several languages
Cairo
25
star
10

aa-workshop

Code for Account Abstraction workshop using latest Starknet syntax
Cairo
22
star
11

remix-game-day

A short exercice to deploy a StarkNet contract using remix
Cairo
9
star
12

StarkNet-integration

TypeScript snippets for exchanges integration
TypeScript
8
star
13

ownable-workshop

Code for Ownable workshop using latest Starknet syntax.
Cairo
6
star
14

starknet-cc-ctf-challenges

Cairo
5
star
15

buymeacoffee-contracts

Cairo
4
star
16

kakashi

Knowledgeable Assistant Keen on Answering Starknet Heterogeneous Inquiries (KAKASHI)
Python
4
star
17

ultimate-env

Set up your StarkNet dev environment in no time
Cairo
3
star
18

remote-controlled-accounts

Cairo
3
star
19

starknet-seed

A development environment for cairo-lang
Shell
2
star
20

starknet-stack

The goal of this repository is to use a layered tech stack to create a conceptual model for StarkNet.
Go
2
star
21

buymeacoffee-ui

TypeScript
2
star
22

ownable

An example Cairo 1 smart contract to showcase how to run integration tests with Protostar
Cairo
2
star
23

cairo-snippets

Bunch of cairo vs code snippets to make smart-contract development easier
2
star
24

ownable_v2

An example of how to create a Starknet smart contract using the version 2 of the Cairo compiler
Cairo
2
star
25

points-migrator

This smart-contract enables StarkNet users who completed the tutorials to migrate the points to another wallet
Cairo
2
star
26

setup-starknet-dev-env

Python
1
star
27

starknet-edu.github.io

Cairo
1
star
28

hardhat-example

This repository can be used as a base for hardhat projects on Starknet
TypeScript
1
star
29

starknet-scripts

1
star
30

starknet-ecosystem-guide

1
star
31

snf-edu

1
star