Skip to content

refactor(build-guest): separate stages better #106

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

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

lispc
Copy link
Contributor

@lispc lispc commented Apr 17, 2025

the result built commitments match prev release. So this is just a building codes refactor

  1. separate "stages" of build-guest. root-veirifer / leaf commitments / exe commitments. Users can use env var to control which stages to build. (Background is, the first 2 stages only depends on openvm version, which the last depends on zk program too. So sometimes you can skip first 2 stages for faster building if you only change zk program codes.)
  2. keep only 1 copy of commitments. Change others to symbol links. So we can also simplify building and CI workflow

@github-actions github-actions bot added crate-chunk-circuit Updates to the guest program chunk-circuit crate-batch-circuit Updates to the guest program batch-circuit crate-bundle-circuit Updates to the guest grogram bundle-circuit crate-prover Updates to the prover crate crate-verifier Updates to the verifier crate crate-build-guest Updates to building of guest programs crate-circuits Any update made to the circuits, i.e. commitments reflect a change labels Apr 17, 2025
@lispc lispc marked this pull request as ready for review April 17, 2025 14:00
@github-actions github-actions bot added the ci CI related updates label Apr 17, 2025
Copy link
Member

@noel2004 noel2004 left a comment

Choose a reason for hiding this comment

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

LGTM. but for the stages, noticing that if the version of openvm changes and it cause the leaf commitment being updated, it would almost sure to lead to a new app exe commitment.

also, i think new leaf commitment may also need an updating on the root verifier assemble.

That means there are some dependencies between the 3 stages. should the build-guest also respect this? (for example, always add state2/3 when stage 1 has been specified)

Copy link
Member

Choose a reason for hiding this comment

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

Can some comment be added in the file to explain its usage?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci CI related updates crate-batch-circuit Updates to the guest program batch-circuit crate-build-guest Updates to building of guest programs crate-bundle-circuit Updates to the guest grogram bundle-circuit crate-chunk-circuit Updates to the guest program chunk-circuit crate-circuits Any update made to the circuits, i.e. commitments reflect a change crate-prover Updates to the prover crate crate-verifier Updates to the verifier crate
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants