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

Implement Circom wrapper #16

Closed
arnaucube opened this issue Sep 1, 2023 · 7 comments
Closed

Implement Circom wrapper #16

arnaucube opened this issue Sep 1, 2023 · 7 comments

Comments

@arnaucube
Copy link
Collaborator

Depends on #15 .

The objective of the Circom wrapper is:

Related repos that might be useful:

@yugocabrio
Copy link
Contributor

Hello, I’m interested in this issue but I’m not sure what the frontend trait should be. So after issue #15 (frontend trait) has been completed, may I contribute to this issue?

I could get the R1CS matrices and calculate the witness vector from circom using nova-scotia. This is the snippet code that I tried out.
https://github.com/yugonsan/circom_parser/blob/d66e41799c9a2bd7421d13f213e688b4711b149a/src/main.rs#L187

@arnaucube
Copy link
Collaborator Author

That's awesome @yugonsan ^^
I'll be off (OOO) for the next 3 weeks, but (tagging them to include them in the conv) @CPerezz and @han0110 will work on the design of the frontend trait (#15), I would say that coordinating with them will be the best option.

@huitseeker
Copy link

We also have https://github.com/lurk-lab/circom-scotia 😆

@oskarth
Copy link

oskarth commented Sep 11, 2023

There's also https://github.com/arkworks-rs/circom-compat

(One advantage of this is that it doesn't spawn child processes, something that can be a problem in some environments like mobile. Maybe less relevant at this stage though)

@CPerezz
Copy link
Member

CPerezz commented Sep 11, 2023

Hello, I’m interested in this issue but I’m not sure what the frontend trait should be. So after issue #15 (frontend trait) has been completed, may I contribute to this issue?

Definitely! The frontend is the latter of our planned efforts anyways, so feel free to give it a try on designing the trait if you see like doing so too.
The main idea is that we should be able to fit in different providers (circom (via nova-scotia or whatever it is), Noir, Plonkish etc...) and handle all of them under a single trait (frontend) so that we can bring them into the FoldingScheme trait later and fold them.

I could get the R1CS matrices and calculate the witness vector from circom using nova-scotia. This is the snippet code that I tried out. https://github.com/yugonsan/circom_parser/blob/d66e41799c9a2bd7421d13f213e688b4711b149a/src/main.rs#L187

Once the provider structure is done + the trait is defined, feel free to go for this. But as said, unless @han0110 wants to give it a shot now, this fronted effort is going to be the last one of our first milestone.

@yugocabrio
Copy link
Contributor

@CPerezz
I'm glad to hear that! So I'll start working on the design of the frontend trait then. Thank you for the opportunity.

@arnaucube
Copy link
Collaborator Author

Closing this task, since it was completed by @yugonsan at #26 😸

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

No branches or pull requests

5 participants