-
Couldn't load subscription status.
- Fork 1
Feat/implement proof gen #7
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
Conversation
8826519 to
be6c4db
Compare
be6c4db to
e89b5b9
Compare
0ec9687 to
7d341d4
Compare
1a4701e to
59c7739
Compare
3e67e98 to
36c2c21
Compare
|
Hey @KimiWu123! Thank you very much for creating this PR. Is this PR ready for review or is it still a draft? |
It's ready for review! Sorry, forgot to mark as "ready for review" |
src/proof.rs
Outdated
| p.b.x[0].clone(), | ||
| p.b.x[1].clone(), | ||
| p.b.y[0].clone(), | ||
| p.b.y[1].clone(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think here should be
| p.b.x[0].clone(), | |
| p.b.x[1].clone(), | |
| p.b.y[0].clone(), | |
| p.b.y[1].clone(), | |
| p.b.x[1].clone(), | |
| p.b.x[0].clone(), | |
| p.b.y[1].clone(), | |
| p.b.y[0].clone(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After applied this change, the proof generated by semaphore-rs still can't be verified by Semaphore-js. But it's weired that our verification fails as well.
It works!
src/proof.rs
Outdated
| x: [packed[2].clone(), packed[3].clone()], | ||
| y: [packed[4].clone(), packed[5].clone()], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
here is the same
| x: [packed[2].clone(), packed[3].clone()], | |
| y: [packed[4].clone(), packed[5].clone()], | |
| x: [packed[3].clone(), packed[2].clone()], | |
| y: [packed[5].clone(), packed[4].clone()], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This one works! Now we can verify the proof from Semaphore-js
| const MEMBER1: Element = [1; 32]; | ||
| const MEMBER2: Element = [2; 32]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I used to_element(Fq::from(1)) and to_element(Fq::from(2)) to make the member the same as in the semaphore-js
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything works now! Thanks!!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you very much for the great work! 🚀
Description
To implement
Prooffunctionalities by integratingCircom-Prover. Will rebasemainafter #6 is merged.Related Issue(s)
#5
Known Issues
Semaphore-js. The issue created onMoproside, The groth16 proof is not compatible with Snarkjs's proof zkmopro/mopro#396