Skip to content

Latest commit

 

History

History
137 lines (82 loc) · 4.39 KB

Readme Nadai.md

File metadata and controls

137 lines (82 loc) · 4.39 KB

Cairo 1.0🐺

⚡Compilador ⚡ rapidísimo ⚡ para Cairo, escrito en 🦀 Rust. 🦀

Reportar un Error - Solicitar una Función - Formule una Pregunta

GitHub Workflow Status Project license Pull Requests welcome


Cómo empezar

Requisitos previos

  • Instalar Rust
  • Configurar Rust:
rustup override set stable && rustup update && cargo test

Empezando con Cairo 1.0

Una vez instalado Rust, clona el repositorio ejecutando el siguiente comando en un terminal:

  • Nadai Oficial: gh repo clone Nadai2010/Nadai-Cairo-1.0-SierraA diferencia de los contratos 0.x, donde compilamos directamente a ensamblador Cairo (casm), con Cairo 1.0, la compilación de nuestros contratos se hará en dos etapas:
  1. Cairo > Sierra
  2. Sierra > Casm

Sierra significa Safe Intermediate Representation (Representación Intermedia Segura) y pretende constituir una capa de representación entre los programas Cairo y sus bytecodes. Sierra abre la posibilidad de probar cada ejecución de Cairo, permitiendo así una robusta protección contra ataques de Denegación de Servicio (DoS).

En este caso nos centraremos en tres contratos, ERC20.cairo, ENS.cairo y AMM.cairo.

ERC20

Para compilar a Sierra el ERC20.cairo ejecute el siguiente comando:

cargo run --bin starknet-compile -- src/ERC20.cairo src/ERC20.sierra --replace-ids

Graph

Si la compilación fue exitosa, debería ver la salida de Sierra en su src/ERC20.sierra.

Graph

Para seguir compilando de Sierra a Casm, ejecute el siguiente comando:

cargo run --bin starknet-sierra-compile -- src/ERC20.sierra src/ERC20.casm

Graph

Si la compilación fue exitosa, deberías ver la salida casm en tu src/ERC20.casm.

Graph


ENS

Después de conseguir compilar ERC20.cairo a Sierra y a Casm, podemos probar con ens.cairo

Para compilar a Sierra, ejecute el siguiente comando:

cargo run --bin starknet-compile -- src/ens.cairo src/ens.sierra --replace-ids

Graph

Si la compilación fue exitosa, debería ver la salida de Sierra en su src/ens.sierra.

Graph

Para seguir compilando de Sierra a Casm, ejecute el siguiente comando:

cargo run --bin starknet-sierra-compile -- src/ens.sierra src/ens.casm

Graph

Si la compilación fue exitosa, deberías ver la salida casm en tu src/ens.casm.

Graph


AMM

También después de conseguir compilar ens.cairo a Sierra y a Casm, podemos probar con amm.cairo

Para compilar a Sierra, ejecute el siguiente comando:

cargo run --bin starknet-compile -- src/ens.cairo src/ens.sierra --replace-ids

Graph

Si la compilación fue exitosa, debería ver la salida de Sierra en su src/amm.sierra.

Graph

Para seguir compilando de Sierra a Casm, ejecute el siguiente comando:

cargo run --bin starknet-sierra-compile -- src/amm.sierra src/amm.casm

Graph

Si la compilación fue exitosa, deberías ver la salida casm en tu src/amm.casm.

Graph


Conclusión

Aquí estamos dando paso a nuestros primeros contratos preparados para el lanzamiento de Starknet Alpha 0.11 en la que podremos usar en testnet nuestros contratos.