-
Notifications
You must be signed in to change notification settings - Fork 145
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
ZkProgram needs more docs, it is only mentioned in the context of recursion #548
Comments
@mitschabaude - do you mind elaborating on why you said "writing provable code, which is not specific to smart contracts" --> maybe, what is provable code? And what did you mean by: "zkProgram - the verification key is a unique "description" of the circuit (^= the program)" |
yeah sure! this is out of context, I wrote Create a new fleshed out section for writing provable code, which is not specific to smart contracts so the new section is what I don't want to be specific to smart contracts. Provable code is any code you can create a zk proof of! Also called a circuit (but that's jargon-y). So, a section about writing circuits!
That doesn't look like something I wrote, maybe @barriebyron added it to my description O.o |
yes please more code for ZkProgram and maybe mention examples, like https://github.com/o1-labs/o1js/blob/ef0d5e4497938cf9d3c8cb8eb179d58149e2bc25/src/examples/gadgets.ts |
@garwalsh likes the idea of a more complete and standalone doc for ZkProgram |
ZkProgram is the o1js general-purpose API for creating zk proofs. It's relevant for anyone who wants to create a proof that's not a Mina smart contract proof.
The docs don't present ZkProgram as such, but only present it as a tool "for recursion". It's true that you need offchain proofs in order to use recursion, but it's not true that recursion is the only use case for offchain proofs.
Idea: Create a new fleshed out section for writing provable code, which is not specific to smart contracts. This section can cover other topics not currently covered, such as
Provable.witness()
or "common differences between provable code and normal code".ZkProgram
, as the general-purpose way of creating proofs, would fit well near the end of such a sectionzkProgram - the verification key is a unique "description" of the circuit (^= the program)The text was updated successfully, but these errors were encountered: