¡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!
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!
- 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.
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.
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 llamadoSC101
(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:
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.
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 |
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!
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.
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 |
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í