Comece a aprender Cairo com esse simples tutorial. Complete puzzles/exercícios, receba tokens e aprenda sobre contratos inteligentes da StarkNet!
Não espere nenhuma benefício em usar esse material além de aprender algumas coisas sobre StarkNet, o primeiro rollup de validez de uso geral da rede principal da Ethereum (Mainnet).
A StarkNet ainda está em Alpha. Isso significa que o desenvolvimento está em andamento e a tinta não está seca em todos os lugares. As coisas vão melhorar e, enquanto isso, fazemos as coisas funcionarem com um pouco de fita adesiva aqui e ali!
Complete os exercícios e ganhe tokens! Este workshop é um conjunto de contratos inteligentes implantados na testnet StarkNet Alpha. Cada contrato inteligente é um exercício/puzzle - que descreve um recurso da linguagem Cairo.
Completar os exercícios lhe dará pontos em forma de tokens ERC20.
Este workshop se concentra na leitura de código em Cairo e nos contratos inteligentes da StarkNet para entender sua sintaxe. Você não precisa programar ou instalar nada em sua máquina para segui-lo e completá-lo.
Você levará algum tempo para começar (fazendo os dois primeiros exercícios) no tutorial. Espere! Uma vez lá, as coisas fluirão mais facilmente. Você está aprendendo!
Este workshop é o primeiro de uma série com o objetivo de ensinar como programar na StarkNet. Confira a seguir:
Topic | GitHub repo |
---|---|
Aprenda a ler código Cairo (você está aqui) | Cairo 101 |
Implemente e personalize um NFT ERC721 | StarkNet ERC721 |
Implemente e personalize um token ERC20 | StarkNet ERC20 |
Crie um aplicativo de camada cruzada (cross layer) | StarkNet ponte de mensagens |
Depure seus contratos do Cairo facilmente | StarkNet debug |
Crie seu próprio contrato | StarkNet abstração de conta |
Quando terminar este tutorial, deixe seu feedback, será bem apreciado!
Por favor preencha esse formulário para sabermos em que podemos melhorar.
E se você tiver dificuldades para progredir no tutorial, fale conosco! Este workshop pretende ser o mais acessível possível; queremos saber caso não seja.
Você tem alguma pergunta? Entre no nosso servidor no Discord, registre-se e participe do canal #tutorials-support.
Você está interessado em acompanhar workshops online sobre como desenvolver na StarkNet? Se inscreva aqui
Este projeto pode ser melhorado e evoluirá à medida que a StarkNet amadurece. Suas contribuições são bem-vindas! Aqui estão algumas coisas que você pode fazer para ajudar:
- Criar uma branch com a tradução para sua língua
- Corrigir bugs se você achar algum
- Adicionar uma explicação nos comentários do exercício se achar que precisa de mais explicações
- Adicione exercícios mostrando seu recurso favorito de Cairo
A versão original em inglês está disponível aqui.
Para concluir o tutorial, você precisa coletar pontos. Esses pontos serão enviados para uma carteira de contrato inteligente que você precisa criar.
- A maneira mais fácil de configurar uma é usar o Argent X (baixe a extensão do chrome ou confira o repositório) ou Braavos (baixe a extensão do chrome). Essas soluções de carteira são semelhantes ao que o Metamask é para o Ethereum e permitem que os usuários iniciem transações e interajam com aplicativos no StarkNet.
- Siga as instruções para instalar a extensão e criar uma carteira de contrato inteligente (pode levar cerca de 5 minutos para ser criada). Observe que na StarkNet há apenas um tipo de conta - contratos inteligentes, chamadas Abstração de conta (Account Abstraction), diferente da rede Ethereum, onde há carteiras e contratos inteligentes. Em outras palavras, cada carteira no StarkNet é um contrato inteligente e não há distinção entre eles e outros contratos inteligentes. Portanto, para criar uma nova carteira, você precisa efetuar uma transação que publique sua carteira de contrato inteligente na rede.
- Certifique-se de estar na rede testnet Goerli.
- Os pontos do tutorial são mantidos em contrato
[0x5c6b1379f1d4c8a4f5db781a706b63a885f3f9570f7863629e99e2342ac344c](https://goerli.voyager.online/contract/0x5c6b1379f1d4c8a4f5db781a706b63a885f3f9570f7863629e99e2342ac344c)
. Clique em "Adicionar Token" na sua carteira e ponha endereço do contrato para que seus pontos apareça lá! Um novo token chamado SC101 (starknet-cairo-101) aparecerá em sua carteira. - Conecte Voyager a sua carteira. Voyager é o explorador de blocos para StarkNet (o equivalente de Etherscan para Ethereum) e permite que você navegue na blockchain, visualize todas as transações e seus status. Ao conectar o Voyager à sua carteira, você poderá transmitir suas transações por meio de sua carteira.
- Para executar transações no testnet Goerli StarkNet você precisará de ETH da testnet para pagar pelo gás. Para obter alguns, vá para o faucet e siga as instruções. Pode levar alguns minutos, mas você receberá L2 Goerli ETH em sua carteira que você pode usar para executar transações na testnet.
Cada exercício é um contrato inteligente. Contém código que, quando executado corretamente, distribuirá pontos para seu endereço.
Pontos são distribuidos pela função distribute_points()
enquanto a função validate_exercise
grava que você concluiu o exercício (você só pode receber os pontos uma vez). Seu objetivo é:
Para este tutorial, vamos interagir com nossos contratos por meio do Voyager, Explorador de blocos da StarkNet. Certifique-se de conectar o Voyager a sua carteira! Isso permitirá que você realize suas transações.
Ao procurar um contrato/transação, certifique-se sempre de estar na versão Goerli do Voyager!
- Acesse suas transações com uma URL do formato: https://goerli.voyager.online/tx/your-tx-hash.
- Acesse um contrato com uma URL do formato: https://goerli.voyager.online/contract/your-contract-address
- Acesse as funções de leitura/gravação do contrato com a guia "Read/Write Contract" no Voyager.
Tópico | Código do contrato | Contrato no Voyager |
---|---|---|
Contador de pontos | Contador de pontos | Link |
Sintaxe geral | Ex01 | Link |
Variáveis de armazenamento, getters, asserts | Ex02 | Link |
Lendo e armazenando variáveis de armazenamento | Ex03 | Link |
Mapeamentos | Ex04 | Link |
Variável de visibilidade | Ex05 | Link |
Visibilidade das funções | Ex06 | Link |
Comparando valores | Ex07 | Link |
Recursões nível 1 | Ex08 | Link |
Recursões nível 2 | Ex09 | Link |
Componibilidade | Ex10 | Link |
Importando funções | Ex11 | Link |
Eventos | Ex12 | Link |
Privacidade na StarkNet | Ex13 | Link |
Multichamada | Ex14 | Link |
Seus pontos serão creditados na sua carteira; embora isso possa levar algum tempo. Se você deseja monitorar sua contagem de pontos em tempo real, também pode ver seu saldo no Voyager!
- Vá para Contador de pontos no Voyager, na aba de "read contract".
- Coloque o endereço da sua carteira na função "balanceOf".
Você também pode ver seu progresso geral aqui.
Você enviou uma transação e ela é mostrada como "não detectada" na Voyager? Isso pode significar duas coisas:
- Sua transação está pendente e será incluída em um bloco em breve e então será visível na Voyager.
- Sua transação era inválida e NÃO será incluída em um bloco (não existe uma transação com falha no StarkNet). Você pode (e deve) verificar o status de sua transação com a seguinte URL https://alpha4.starknet.io/feeder_gateway/get_transaction_receipt?transactionHash=, onde você pode anexar seu hash de transação.
- Clone o repositório na sua máquina
- Configure o ambiente seguindo essas instruções.
- Instale Nile.
- Teste se você pode compilar o projeto.
nile compile