Skip to content
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: versioned execution #88

Merged
merged 3 commits into from
Nov 5, 2024
Merged

feat: versioned execution #88

merged 3 commits into from
Nov 5, 2024

Conversation

jac18281828
Copy link
Contributor

@jac18281828 jac18281828 commented Oct 31, 2024

closes #29

This introduces a feature to manage risc0 versions. Each prover node will only prove from client execution requests that are sent to it from a compatible version of the client.

  • client requests are tagged with a specific version
  • mismatching versions are ignored at execution time
  • logging is provided for incompatible versions
  • changes are tested

Related Issues

Copy link

vercel bot commented Oct 31, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
bonsol ✅ Ready (Inspect) Visit Preview 💬 Add feedback Nov 5, 2024 4:57pm

Copy link
Contributor

@austbot austbot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is looking really solid!
I think I have questions and need to understand how you are getting the correct control IDs for the version.

testing-examples/example-execution-request.json Outdated Show resolved Hide resolved
onchain/interface/src/instructions.rs Outdated Show resolved Hide resolved
onchain/interface/src/prover_version.rs Show resolved Hide resolved
@jac18281828
Copy link
Contributor Author

This is ready for the next round of review. Cli is not defaulting to a specific prover version, it defaults to "DEFAULT" which maps to the current version in the contract. I will make another change to proof handing to require that a specific version of the prover is being used for the request.

@jac18281828
Copy link
Contributor Author

This should be ready to merge after one more round of manual testing...doing that now

@jac18281828
Copy link
Contributor Author

✅ confirmed proving is working

Copy link
Contributor

@austbot austbot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My only question is why the simple image id changed, that should be stable across prover versions

docs/docs/contributing/contributing.mdx Outdated Show resolved Hide resolved
@jac18281828
Copy link
Contributor Author

My only question is why the simple image id changed, that should be stable across prover versions

Can you try running in your environment and determine if it is something peculiar to my environment?

@jac18281828 jac18281828 merged commit 424e66c into main Nov 5, 2024
3 of 4 checks passed
@jac18281828 jac18281828 deleted the jac/verify29 branch November 5, 2024 18:57
@jac18281828
Copy link
Contributor Author

My only question is why the simple image id changed, that should be stable across prover versions

Okay, I discovered the issue. I was running cargo risczero --version 1.1.2 which is the current default install. I fixed that and it now matches. We should consider getting our examples updated to this latest default version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Managment of Risc0 versions
2 participants