sierra-emu

Crates.iosierra-emu
lib.rssierra-emu
version0.6.2
created_at2025-06-11 14:41:28.041244+00
updated_at2025-09-16 15:33:20.328286+00
descriptionA Cairo (Sierra) Virtual Machine.
homepage
repositoryhttps://github.com/lambdaclass/cairo_native
max_upload_size
id1708649
size406,960
Klaus @ LambdaClass (klaus993)

documentation

README

⚡ Cairo Sierra Emulator ⚡

An Cairo emulator directly using the Cairo's intermediate representation "Sierra" instead of CASM. An useful usecase is to aid in debugging Cairo Native.

Dependencies

First, make sure to have all the dependencies from Cairo Native setup.

Then, you can use the corelib recipe to make a symlink in the current directory.

make corelib

Running the Program

To use the sierra emulator binary, we must first compile the target cairo program.

../../cairo2/bin/cairo-compile -rs ./programs/fibonacci.cairo > ./programs/fibonacci.sierra

Then, we can generate the ejecution trace with the sierra emulator:

cargo run -- ./programs/fibonacci.sierra fibonacci::fibonacci::main \
    --available-gas 100000 --output ./programs/fibonacci.trace.json

The program trace will be generated to ./programs/fibonacci.trace.json.

Using the API

The sierra emulator can also be used as a library.

Commit count: 1286

cargo fmt