paradigmxyz / reth

Modular, contributor-friendly and blazing-fast implementation of the Ethereum protocol, in Rust
https://reth.rs/
Apache License 2.0
3.97k stars 1.2k forks source link

Add CI check that `reth-primitives` compiles to RISC-V #8176

Closed puma314 closed 4 months ago

puma314 commented 6 months ago

Describe the feature

RISC-V is an important target for zkVMs, such as SP1, Risc0, JOLT and others, which prove the execution of RISC-V bytecode in a zero-knowledge proof. reth-primitives is an important crate that is meant to be minimal in dependencies and should be compilable to the RISC-V target for use in all zkVMs.

While PRs in the past have been merged in to ensure that reth-primitives can compile to RISC-V, without a CI check to ensure this compilation is possible, networking dependencies (or other incompatible dependencies) sneak into the reth-primitives crate.

It would be great to add a CI check to ensure this crate (and others that can be added in the future) with appropriate features enabled can be compiled to RISC-V.

h/t to @preston-evans98 for suggesting this issue.

Additional context

No response

preston-evans98 commented 6 months ago

This would be super useful for us at Sovereign Labs!

Note that all of the platforms referenced in the original issue require a 32-bit RISC-V architecture.

Our preferred target for the check is the official riscv32im-risc0-zkvm, which captures the constraints of zk execution environments (i.e. limited std support with no networking).

github-actions[bot] commented 5 months ago

This issue is stale because it has been open for 21 days with no activity.

github-actions[bot] commented 4 months ago

This issue is stale because it has been open for 21 days with no activity.

github-actions[bot] commented 4 months ago

This issue was closed because it has been inactive for 7 days since being marked as stale.