- Brew (Mac) / Chocolatey (Windows)
- Docker (Docker Desktop)
- rust, cargo y rustup
- LLVM (con wasm-ld): Disponible desde la versión 15 (
llvm@15
)
Si no, podemos instalarlo con brew install wabt
- fork / git clone de este repositorio
git submodule update --init --recursive
cargo install cargo-stylus
rustup target add wasm32-unknown-unknown
(opcional, solventa un error de target wasm32 not found al hacer make)
make
para generar el archivo contract.wasmcargo stylus check --wasm-file ./contract.wasm -e https://sepolia-rollup.arbitrum.io/rpc
(si tenemos output en verde estamos listos 🚀🚀)
Tip
Cuando veamos este error significa que no hemos inicializado los modulos de git. Lo solventamos haciendo git submodule update --init --recursive
Storage slots are pretty similar to registers in 32bit architectures. Since both have:
-
Fixed Size: Storage slots in Ethereum can hold exactly 32 bytes. Similar to how registers have a fixed size in assembly (e.g., 32-bit, 64-bit).
-
Direct Addressing: Just as you access a specific register by its identifier (eax, r1), you access storage slots using their indexes: 0x01, 0x02.
-
Explicit Management: Like assembly programming, developers must explicitly manage how storage slots are allocated and used. Miss assignment of memory/slots can cause data corruption.
Leer más A gentle introduction: Stylus