Git Product home page Git Product logo

starknetbook's Introduction

The Starknet Book

Work in Progress and Community Contributions

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.

Welcome

Welcome to the Starknet Book!

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

Goal

1: Getting Started

Learn how to deploy and interact with smart contracts using the CLI.

2: Smart Contracts in Cairo

Write a Cairo smart contracts.

3: Tooling

Set up a development environment and perform complex deployments.

4: Testing

Test smart contracts in a local environment, and write unit and integration tests.

5: Frontend

Integrate Starknet with a React frontend using starknet.js.

6: Running a Node

Set up and run a Starknet node and indexer.

7: Account Abstraction

Understand user accounts and create custom accounts.

8: Starknet Architecture

Explore transaction lifecycle, fees calculation, Prover and Verifier interaction, and more.

9: Cairo Architecture

Dive into the Cairo virtual machine, memory model, opcodes, and compiler.

10: STARKs

Understanding STARKs and how they connect with other 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 Chapter 1: Getting Started.

  • If you’re an experienced developer looking to quickly dive into writing scalable and decentralized smart contracts, focus on Chapters 1 and 2.

  • If you’re a frontend developer wanting to integrate Starknet with a React frontend, prioritize Chapter 5: Frontend after covering the basics in Chapters 1 and 2.

  • If you’re a DevOps engineer or node operator interested in running a Starknet node and indexer, head straight to Chapter 6: Running a Node.

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

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

  • If you’re a cryptography expert or researcher eager to understand the fundamentals of STARKs and their connection to the Starknet ecosystem, delve into Chapter 10: 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.

starknetbook's People

Contributors

omarespejel avatar drspacemn avatar gyan0890 avatar jamestark avatar l-henri avatar barretodavid avatar remedcu avatar omahs avatar oboulant avatar qd-qd avatar lucaslvy avatar codewhizperer avatar avimak avatar robertkodra avatar sreblock avatar supremesingh avatar lorcan-codes avatar devnet0x avatar lviswang avatar ivpavici avatar arturvargas avatar trangnv avatar leapalazzolo avatar cliraa avatar ccolorado avatar zediogoviana avatar shramee avatar satyambnsal avatar tranhoaison avatar prix0007 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.