test: Groth16 for proving (not for merging, just testing) - #645
Draft
jonesmarvin8 wants to merge 1 commit into
Draft
test: Groth16 for proving (not for merging, just testing)#645jonesmarvin8 wants to merge 1 commit into
jonesmarvin8 wants to merge 1 commit into
Conversation
Enables real Docker-based Groth16 proving for reproducing and documenting the memory and architecture constraints of the risc0-groth16-prover container.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🎯 Purpose
This branch enables real Groth16 proofs generated using Risc0. Previous tests with Groth16 proofs resulted in errors on certain systems. Two specific errors were identified resulting in failed tests:
These directions assume that Docker is installed. We provide two sets of directions (Linux setup and non x86).
Path 1: x86 / Linux setup
Linux typically has no cap by default.)
provefeature enabled, pointingRISC0_WORK_DIRat a persistent directoryso proving artifacts (
seal.r0,input.json) survive the run:RISC0_WORK_DIR=/path/to/work-dir cargo test -p lee --release --features prove \ prove_privacy_preserving_execution_circuit_public_and_private_pre_accounts -- --nocapture137) Replay the captured artifacts standalone totest different memory caps without re-running the full proving step each time:
137/OOM.)Path 2: non-x86 (ARM64 — Apple Silicon, ARM64 Linux)
x86/amd64 emulation on Apple Silicon."
to cover emulation overhead; not empirically verified like the 8 GB x86 figure.)
RISC0_WORK_DIRat a persistent directory soproving artifacts survive the run:
RISC0_WORK_DIR=/path/to/work-dir DOCKER_DEFAULT_PLATFORM=linux/amd64 \ cargo test -p lee --release --features prove \ prove_privacy_preserving_execution_circuit_public_and_private_pre_accounts -- --nocaptureupstream and fails with exit
125.)137) Replay the captured artifacts standalone totest different memory caps:
Quick troubleshooting reference
137--memory125linux/amd64), or daemon/image issue⚙️ Approach
Describe the core changes introduced by this PR.
TO COMPLETE
🧪 How to Test
How to verify that this PR works as intended.
TO COMPLETE
🔗 Dependencies
Link PRs that must be merged before this one.
TO COMPLETE IF APPLICABLE
🔜 Future Work
List any work intentionally left out of this PR, whether due to scope, prioritization, or pending decisions.
TO COMPLETE IF APPLICABLE
📋 PR Completion Checklist
Mark only completed items. A complete PR should have all boxes ticked.