-
Notifications
You must be signed in to change notification settings - 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
Proof
functionalities by integratingCircom-Prover
. Will rebasemain
after #6 is merged.Related Issue(s)
#5
Known Issues
Semaphore-js
. The issue created onMopro
side, The groth16 proof is not compatible with Snarkjs's proof zkmopro/mopro#396