Comencemos usando Cairo con este simple tutorial. Completa los ejercicios, obtén tokens y aprende sobre los contratos inteligentes de StarkNet!
Usando esto, no esperes otro beneficio que aprender algunas cosas interesantes sobre StarkNet, el primer rollup de validez (validity rollup) de propósito general en la red principal de Ethereum (Mainnet).
StarkNet aún esta en Alpha. Esto significa que sigue en desarrollo, la pintura está fresca. Las cosas mejorarán, y mientras tanto, estamos haciendo que las cosas funcionen con un poco de cinta y alambres por aquí y por allí.
Completa los ejercicios y obtén tokens! Este workshop consiste en un conjunto de contratos inteligentes corriendo en la testnet de StarkNet Alpha. Cada contrato es un ejercicio - que remarca alguna característica/feature del lenguaje de programación Cairo.
Al completar el ejercicio se te acreditarán puntos en forma de ERC20 token.
Este workshop se enfoca en leer código Cairo y contratos inteligentes de StarkNet para entender su sintaxis. No es necesario programar o instalar nada en tu computadora para seguirlo y completarlo.
Va a tomarte algo de tiempo comenzar (hacer los primeros dos ejercicios) con el tutorial. Paciencia! una vez que estés allí, las cosas van a fluir mejor. ¡Estás aprendiendo!
Este workshop es el primero en una serie cuyo objetivo es enseñar a construir en StarkNet. Puedes obtener más información en los siguientes links:
Topic | 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
Este proyecto puede mejorarse y va a evolucionar a medida que StarkNet madure. ¡Tus contribuciones son bienvenidas! Aquí hay algunas cosas que puedes hacer para ayudar:
- Crear una rama con la traducción a tu idioma.
- Corregir errores si encuentras alguno.
- Agregar explicaciones en los comentarios del ejercicio si sientes que necesita mejor explicación.
- Agregar ejercicios mostrando tus características favoritas de Cairo.
Para completar este tutorial necesitas coleccionar puntos Estos puntos van a ser adquiridos por el contrato inteligente que vas a desplegar.
- La forma mas fácil de iniciar una es usando Argent X (descarga la extensión de chrome o checkea su repo) o Braavos (descargar extensión de chrome). Estas billeteras son similares a lo que Metamask es para Ethereum y permite a los usuarios iniciar transacciones e interactuar con aplicaciones en StarkNet.
- Sigue las instrucciones para instalar la extensión y desplegar una contrato de cuenta inteligente (puede tomar más o menos 5 minutos para ser desplegado). Por favor nota que en StarkNet solo hay un tipo de cuentas - cuentas de contrato inteligente (esto se llama Abstracción de cuenta), en contraste a Ethereum donde hay billeteras y contratos inteligentes. En otras palabras, cada billetera en StarkNet es un contrato inteligente y no existe distinción entre ellos y otros contratos. Por lo tanto, para crear una nueva billetera, necesitas desplegar una transacción que publique tu billetera de contrato inteligente a la red.
- Asegúrate de que estés en la red testnet de Goerli.
- Los puntos de este tutorial estan contenidos en el contrato
[0x5c6b1379f1d4c8a4f5db781a706b63a885f3f9570f7863629e99e2342ac344c](https://goerli.voyager.online/contract/0x5c6b1379f1d4c8a4f5db781a706b63a885f3f9570f7863629e99e2342ac344c)
. Clickea en "Add Token" (Agregar Token) en tu billetera instalada y la dirección del contrato para que tus puntos de balance aparezcan! Un nuevo token llamado SC101 (starknet-cairo-101) aparecerá en tu billetera. - Conectar Voyager a tu contrato de cuenta inteligente. Voyager está en el explorador de bloques para StarkNet (Equivalente a Etherscan para Ethereum) y te permite navegar el estado de la blockchain, ver todas las transacciones y sus estados. Conectar Voyager a tu billetera, te va a permitir enviar tus transacciones a través de la billetera.
- Para ejecutar transacciones en la red de prueba Goerli de StarkNet vas a necesitar ETH de prueba para pagar el gas. Para obtener un poco, ve a faucet y sigue las instrucciones. Podría tomar varios minutos, pero deberías recibir algunos ETH Goerli L2 en tu billetera que puedes usar para ejecutar transacciones en la red de prueba.
Cada ejercicio es un contrato inteligente separado. Contiene código que, si se ejecuta correctamente, va a distribuir puntos en tu cuenta.
Los puntos son distribuidos por la función distribute_points()
mientras la función validate_exercise
registra que haz completado el ejercicio (puedes obtener puntos solo una vez). Tu objetivo es:
Para este tutorial, vamos a interactuar con nuestros contratos a través de Voyager, el explorador de StarkNet. Por favor, asegúrate de conectar tu cuenta contrato de cuenta! Esto va a permitirte enviar tus transacciones a través de la billetera.
Cuando busques hacer algún contrato/transacción, siempre asegúrate de que estés en la versión Goerli de Voyager!
- Accede a tus transacciones con una URL de formato: https://goerli.voyager.online/tx/tu-hash-de-transaccion.
- Accede al contrato con una URL de formato: https://goerli.voyager.online/contract/tu-direccion-de-contrato
- Accede a funciones de lectura/escritura del contrato en la tab "read/write contract" de Voyager.
Tópico | Código del contrato | Contrato en Voyager |
---|---|---|
Contador de puntos ERC20 | Contador de puntos ERC20 | Link |
Sintaxis general | Ex01 | Link |
Variables de almacenamiento, getters, asserts | Ex02 | Link |
Leyendo y escribiendo variables de almacenamiento | Ex03 | Link |
Mappings | Ex04 | Link |
Visibilidad de variables | Ex05 | Link |
Visibilidad de funciones | Ex06 | Link |
Comparando valores | Ex07 | Link |
Recursiones nivel 1 | Ex08 | Link |
Recursiones nivel 2 | Ex09 | Link |
Composability | Ex10 | Link |
Importando funciones | Ex11 | Link |
Eventos | Ex12 | Link |
Privacidad en StarkNet | Ex13 | Link |
Multicall (Llamadas múltiples) | Ex14 | Link |
Tus puntos serian acreditados en tu billetera instalada; aunque esto puede llevar algo de tiempo. Si quieres monitorear tus puntos en tiempo real, también puedes ver tu balance en voyager!
- Ve al contador ERC20 en Voyager, en la tab "read contract".
- Ingresa tu dirección en la función "balanceOf".
Tambien puede checkear tu progreso general aquí.
Si envías un transacción y es mostrada como "undetected" en Voyager, esto puede significar dos cosas:
- Tu transacción está pendiente y va a ser incluida en un bloque pronto. Luego será visible en Voyager.
- Tu transacción fué inválida y NO será incluida en un bloque (no existe tal cosa como transacción fallida en StarkNet).
Puedes (y deberías) checkear el estado de tu transacción con la siguiente URL https://alpha4.starknet.io/feeder_gateway/get_transaction_receipt?transactionHash=, donde puedes concatenar tu hash de transacción. ## Reutilizando este proyecto
- Clona el repositorio en tu máquina.
- Haz el setup del entorno siguiendo estas instrucciones.
- Instala Nile.
- Verifica que el proyecto compile.
nile compile