-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[feat] Custom Cairo runner #118
Comments
I would postpone this one until we gain better understanding how the proving pipeline will look like. Saving Sierra to Casm compilation time does not look like a worthwhile goal. |
Both should be facilitated by a script that will drive the client, rather in Python than in Rust. |
In general, Just to note, custom runner is a very small program, e.g. see https://github.com/HerodotusDev/integrity/blob/main/runner/src/main.rs |
I prefer not to go custom route until it is strictly necessary. What would be simplest way to get cairo1-run available via cargo install? Clone the vm repo and publish it under the custom name? |
Maybe we can ask Lambda to add it to the [bin] section in Cargo.toml (which is probably the easiest option) or build binaries in CI (or ask some OD contributor to do that) |
Actually it worked without [[bin]] (contrary to https://doc.rust-lang.org/cargo/commands/cargo-install.html#description) |
For some reason I'm moving on with Scarb runner for now, will investigate later. |
Another thing: we hit "Arguments list too long" in shell when running full client on large blocks (1MB), it seems that the workaround is to read args from file, Scarb does not support that, cairo1-run does. |
Additional considerations:
|
Currently we use Scarb cairo-run extension for running the light client program but it has several downsides:
Another option is cairo1-run (from cairo-vm) but it still does not solve (1).
A proposed solution is a custom Cairo runner that:
T = Felt | Array<T>
)It should have a convenient CLI so that we can integrate it into the validation pipeline.
The text was updated successfully, but these errors were encountered: