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: support local prover && multiple task types #54

Open
wants to merge 35 commits into
base: main
Choose a base branch
from

Conversation

yiweichi
Copy link
Member

@yiweichi yiweichi commented Jan 5, 2025

  1. Support local prover
  2. Support multiple task types in one prover process

@yiweichi yiweichi changed the title feat: local prover && support multiple task types feat: support local prover && support multiple task types Jan 5, 2025
@yiweichi yiweichi changed the title feat: support local prover && support multiple task types feat: support local prover && multiple task types Jan 5, 2025
@yiweichi yiweichi requested review from georgehao and Thegaram January 6, 2025 07:07
src/config.rs Outdated Show resolved Hide resolved
src/config.rs Outdated Show resolved Hide resolved
src/config.rs Outdated Show resolved Hide resolved
src/prover/builder.rs Outdated Show resolved Hide resolved
src/prover/types.rs Outdated Show resolved Hide resolved
@georgehao
Copy link
Member

Actually, I think we should combine this repo and prover repo to small one, let this repo become a crate of prover. wdyt @Thegaram

the layout maybe like this

prover
---- cargo.toml
        cargo.lock
        crates
           ----  wrapper ( contains coordinator client, geth client, circuit, etc)
           ----  local
           ----  remote  

@georgehao
Copy link
Member

for the easily usage, we should simpfy some config option like n_workers http option, we should have a default value for it, ane make it to a optional field.

src/config.rs Outdated Show resolved Hide resolved
Comment on lines +115 to +118
if self.circuit_types.contains(&CircuitType::Bundle)
|| self.circuit_types.contains(&CircuitType::Batch)
{
prover_types.push(CircuitType::Batch)

Choose a reason for hiding this comment

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

Why are these two merged into one?

Copy link
Member Author

Choose a reason for hiding this comment

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

that's a lagacy from coordinator's side. we used to not split batch prover and bundle prover. So from coordinator's view, there are only 2 types of prover (chunk prover and batch prover).

src/coordinator_handler/types.rs Show resolved Hide resolved
@@ -35,7 +35,7 @@ pub struct Prover {
impl Prover {
pub async fn run(self) {

Choose a reason for hiding this comment

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

Do we spin up n workers that each can support all prover types?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, that's true. but we can also spin up n workers that can only prove batch or chunk.

src/prover/types.rs Outdated Show resolved Hide resolved
@Thegaram
Copy link

Side note: Once this is merged, please submit a PR to https://github.com/Sindri-Labs/sindri-scroll-sdk (should be just a few simple fixes).

@Thegaram
Copy link

Actually, I think we should combine this repo and prover repo to small one, let this repo become a crate of prover

We discussed this offline, but just so that we have info here:

src/prover/types.rs Outdated Show resolved Hide resolved
conf/config_cloud.json Outdated Show resolved Hide resolved
@yiweichi yiweichi requested a review from georgehao January 21, 2025 18:45
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.

4 participants