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

As a Developer, I want to implement a simple recursive ZkApp, so I can investigate network behaviour processing such ZkApps #8

Closed
akoptelov opened this issue Sep 12, 2023 · 6 comments
Assignees

Comments

@akoptelov
Copy link
Contributor

Definition of DONE: A zkApp that uses recursion (sorting/GCD/etc) that can be run in a private network/berkeleynet.

Documentation (intro): https://docs.minaprotocol.com/zkapps/o1js/recursion

@akoptelov akoptelov self-assigned this Sep 12, 2023
@akoptelov
Copy link
Contributor Author

This is the RFC for the Mina feature: o1-labs/o1js#89

@akoptelov
Copy link
Contributor Author

Opened a question in Mina descussions: MinaProtocol/mina#14104

@akoptelov
Copy link
Contributor Author

With some help from @tizoc, added some witness tracing APIs to snarkyjs to get traces of proofs performed on client side when running a zkApp. Still in progress.

@akoptelov
Copy link
Contributor Author

Here is the gist with the current recursive app (Fibonacci numbers)

@akoptelov
Copy link
Contributor Author

akoptelov commented Sep 25, 2023

Regarding the possibility to use this/similar code in web app, the TS issue that I mentioned might be a blocker. The code that TS complaints about is the proof parameter's type:

class FibonacciZkapp extends SmartContract {
  @method foo(proof: FibonacciProof) {
    proof.verify();
  }
}

@akoptelov
Copy link
Contributor Author

Looks like the issue with TX inclusion was caused by a mismatched in deployed zkapp and one that was used in the transaction. After redeploying it with a new account transaction works fine.

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

No branches or pull requests

1 participant