Skip to content

Conversation

@Lynette7
Copy link
Contributor

This is an example of a ZK anonymous poll application that has a Solidity verifier auto-generated from Noir circuits. The application logic is written in an ink! smart contract which calls the verify function from the Solidity verifier. Both of these contracts are deployed on Passet Hub.
I use build_call_sol and solidity_selector for the cross-contract call

@Daanvdplas
Copy link

He @Lynette7 :)

Curious to hear your thoughts; will we also add an example where we use an ink! contract for the verifier? I think both will be extremely valuable.

It would be incredible if we can create a tutorial for this on the website!

[output[0], output[1], output[2], output[3]]
}
// Solidity function signature: verify(bytes calldata proof, bytes calldata publicInputs)
let selector = solidity_selector("verify(bytes,bytes)");
Copy link
Collaborator

Choose a reason for hiding this comment

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

Haven't forgotten about this one, just didn't have time yet to make a proper ink! PR. Will let you know once we have a better API for it.

Copy link
Collaborator

@cmichi cmichi left a comment

Choose a reason for hiding this comment

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

Thank you so much, @Lynette7! This is great work!

@cmichi cmichi merged commit 8b8b31e into use-ink:main Nov 27, 2025
1 check passed
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.

3 participants