Skip to content

Latest commit

 

History

History
140 lines (88 loc) · 14.4 KB

File metadata and controls

140 lines (88 loc) · 14.4 KB

Taller automatizado Starknet Cairo 101

banner

¡Bienvenido!

Este tutorial está hecho para desarrolladores que estén interesados en aprender a leer código Cairo 1 y contratos inteligentes en Starknet. Siguiéndolo, serás capaz de empezar en poco tiempo. ¡Diviértete!

Introducción

Bienvenido a Starknet, un Validity Rollup de propósito general sobre Ethereum mainnet. Starknet es una solución de escalado de capa 2 que permite a los desarrolladores construir aplicaciones descentralizadas sin comprometer la seguridad, escalabilidad y descentralización.

Este taller está diseñado para ayudarte a leer el código de Cairo 1 y los contratos inteligentes de Starknet, y entender su sintaxis. No te preocupes, no necesitas codificar ni instalar nada en tu máquina para seguirlo y completarlo. Puedes hacerlo todo desde tu navegador.

Los ejercicios son un conjunto de contratos inteligentes desplegados en Starknet Alpha en testnet. Cada contrato inteligente es un ejercicio/puzzle que describe una característica del lenguaje de contratos inteligentes de Cairo.

Completando los ejercicios ganarás puntos en forma de un token ERC20. El token no tiene ningún valor monetario, pero es una forma divertida de seguir tus progresos en el aprendizaje.

¡Esperamos que te diviertas participando en este taller!

Qué aprenderá

  • Cómo leer el código de Cairo 1.
  • Cómo leer los contratos inteligentes de Starknet.
  • Cómo interactuar con los contratos inteligentes de Starknet utilizando un monedero de navegador y un explorador de bloques.

Atención

No esperes ningún beneficio de usar esto aparte de aprender algunas cosas interesantes sobre Starknet, el primer Validity Rollup de propósito general en la mainnnet de Ethereum.

Pasos

Steps

1. Crear un monedero de contrato inteligente y conectarlo a un Explorador de Bloques

Para completar el tutorial, necesitas reunir puntos. Poseerás estos puntos a través de tu monedero Starknet.

  • La forma más sencilla de crear uno es utilizar Argent X (descargar la extensión de chrome o consultar su repo) o Braavos (descargar la extensión de chrome). Estas soluciones de monedero son para Starknet lo que Metamask es para Ethereum. Permiten a los usuarios iniciar transacciones e interactuar con aplicaciones en Starknet.
  • Sigue las instrucciones de la aplicación de tu monedero para instalar la extensión. La cuenta puede tardar aproximadamente 5 minutos en desplegarse. Ten en cuenta que en Starknet sólo existe un tipo de cuenta: las cuentas de contratos inteligentes. Para crear un nuevo monedero, necesitas enviar una transacción que publique tu monedero de contrato inteligente en la red.
  • Asegúrate de que estás en la red Goerli testnet.
  • Los puntos del tutorial se mantienen en el contrato 0x044f65adbdb59bf1db71e8b69efb7c9d0b810db94c1730a05fa5751b02d396de (Starkscan link, Voyager link). Haz clic en "Añadir Token" en tu monedero instalado y añade la dirección del contrato tutorial para que tu saldo de puntos aparezca allí. Un nuevo token llamado SC101 (starknet-cairo-101) aparecerá en tu monedero.
  • Para ejecutar transacciones en la testnet de Goerli Starknet, necesitarás ETH de testnet para pagar la gasolina. Tienes dos opciones:
    • Ir al faucet y seguir las instrucciones. Puede tardar unos minutos.
    • Ir a Starkgate y puentear Goerli Eth de Ethereum a Starknet.

2. Utiliza un explorador de bloques para interactuar con los contratos

Para finalizar este taller, tienes que interactuar con los ejercicios/contratos inteligentes a través de un explorador de bloques.

Puedes utilizar Starkscan o Voyager. Estos son para Starknet lo que Etherscan es para Ethereum. Te permiten navegar por el estado del blockchain y ver todas las transacciones y su estado.

Al conectar tu cartera al explorador de bloques, podrás enviar tus transacciones a la red e interactuar con los ejercicios del tutorial.

Cuando busques un contrato/transacción, asegúrate siempre de que estás en la versión Goerli del Explorador de Bloques. Para resolver los ejercicios, accede a las funciones del contrato utilizando la pestaña read/write del explorador.

3. Resolución de ejercicios y obtención de puntos

Cada ejercicio es un contrato inteligente independiente. Contiene código que, cuando se ejecuta correctamente, distribuirá puntos a tu dirección.

Para resolver un ejercicio, sigue el siguiente enlace para leer su código. Lee los comentarios y sigue las instrucciones para entender el código. Su objetivo es conseguir que cada ejercicio llame correctamente a la función distribute_points(), que le enviará puntos ERC20.

Durante la validación, los ejercicios también suelen llamar a validate_exercise(), que registra que has completado un ejercicio y te prohíbe recoger puntos varias veces.

Cada ejercicio está desplegado en la red de pruebas Goerli, y tendrás que interactuar con ellos a través de un Explorador de Bloques. Puede encontrar las direcciones de los contratos en la siguiente tabla.

Tema Código del contrato Contrato en Starkscan Contrato en Voyager
Sintáxis general Ex01 Link Link
Variables de almacenamiento, getters, asserts Ex02 Link Link
Lectura y escritura de variables de almacenamiento Ex03 Link Link
Mappings Ex04 Link Link
Visibilidad de variables Ex05 Link Link
Visibilidad de funciones Ex06 Link Link
Comparación de valores Ex07 Link Link
Nivel de recursión 1 Ex08 Link Link
Nivel de recursión 2 Ex09 Link Link
Composibilidad Ex10 Link Link
Importación de funciones Ex11 Link Link
Eventos Ex12 Link Link
Privacidad en Starknet Ex13 Link Link
Multillamada Ex14 Link Link

4. Contar tus puntos y verificar tu progreso

Tus puntos se acreditarán en tu billetera, aunque esto puede llevar algún tiempo. Si deseas monitorear tu cantidad de puntos en tiempo real, también puedes verificar tu saldo en un explorador de bloques.

  • Ve al contador ERC20 en Voyager o Starkscan en la pestaña "read contract".
  • Ingresa tu dirección en la función balanceOf.​

¡Disfruta del taller! Si tienes alguna pregunta, no dudes en contactarnos en Discord. ¡Estamos felices de ayudarte!


Contribuir a mejorar este taller

Este proyecto puede mejorarse y evolucionará. Tus contribuciones son bienvenidas. Vaya al archivo CONTRIBUTING para obtener más información sobre cómo configurar su entorno y contribuir al proyecto.

Aquí tienes algunas cosas que puedes hacer para ayudar:

  • Crear una rama con una traducción a tu idioma.
  • Corregir errores si los encuentras.
  • Añade una explicación en los comentarios del ejercicio si crees que necesita más explicación.
  • Añade ejercicios que muestren tu característica favorita de Cairo.
  • Añade un nuevo tutorial a la serie.

Otros talleres automatizados

Este taller es el primero de una serie destinada a enseñar cómo construir en Starknet. Echa un vistazo a otros talleres de la serie:

Temas GitHub repo
Aprende a leer código Cairo (Estás aquí) Cairo 101
Despliega y edita un NFT ERC721 Starknet ERC721
Despliega y edita un token ERC20 Starknet ERC20
Construye una aplicacion multi-capa Puente de mensajes de Starknet
Debugea tus contratos Cairo fácilmente Starknet debug
Diseña tu propio contrato de cuenta Abstracción de cuenta de Starknet

Feedback y ayuda

Una vez que hayas terminado con este tutorial, tu feedback será muy apreciado!

Por favor llena este formulario para dejarnos saber qué podemos mejorar.

Y si se te complica seguir adelante, ¡déjanos saber! La idea de este workshop es que sea lo más accesible posible; queremos saber si no es el caso.

¿Tienes alguna pregunta? Visita nuestro Server de Discord, regístrate, y visita el canal #tutorials-support.

¿Estás interesado/a en seguir workshops online sobre aprender cómo desarrollar en Starknet? Subscríbete aquí

Idiomas

  • (no actualizado) Existe una versión en español aquí.
  • (sin actualizar) Existe una versión en portugués aquí.
  • (no actualizado) Existe una versión en coreano aquí.