- Instalar Rust
- Configurar Rust:
rustup override set stable && rustup update && cargo test
Una vez instalado Rust, clona el repositorio ejecutando el siguiente comando en un terminal:
- Nadai Oficial:
gh repo clone Nadai2010/Nadai-Cairo-1.0-Sierra
A 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:
- Cairo > Sierra
- 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.
Para compilar a Sierra el ERC20.cairo ejecute el siguiente comando:
cargo run --bin starknet-compile -- src/ERC20.cairo src/ERC20.sierra --replace-ids
Si la compilación fue exitosa, debería ver la salida de Sierra en su src/ERC20.sierra.
Para seguir compilando de Sierra a Casm, ejecute el siguiente comando:
cargo run --bin starknet-sierra-compile -- src/ERC20.sierra src/ERC20.casm
Si la compilación fue exitosa, deberías ver la salida casm en tu src/ERC20.casm.
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
Si la compilación fue exitosa, debería ver la salida de Sierra en su src/ens.sierra.
Para seguir compilando de Sierra a Casm, ejecute el siguiente comando:
cargo run --bin starknet-sierra-compile -- src/ens.sierra src/ens.casm
Si la compilación fue exitosa, deberías ver la salida casm en tu src/ens.casm.
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
Si la compilación fue exitosa, debería ver la salida de Sierra en su src/amm.sierra.
Para seguir compilando de Sierra a Casm, ejecute el siguiente comando:
cargo run --bin starknet-sierra-compile -- src/amm.sierra src/amm.casm
Si la compilación fue exitosa, deberías ver la salida casm en tu src/amm.casm.
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.