o1-labs / zkapp-cli

CLI to create a zkApp (zero-knowledge app) for Mina Protocol
https://docs.minaprotocol.com/zkapps/how-to-write-a-zkapp
Apache License 2.0
115 stars 43 forks source link

Rethink and extend the CLI output on interactive zkApp deployment. #633

Open shimkiv opened 3 months ago

shimkiv commented 3 months ago

During the work on https://github.com/o1-labs/zkapp-cli/pull/631

@MartinMinkov raised:

Open question: Would it be helpful to list the dependencies for which a Smart Contract needs to be deployed? For example, if it depends on a ZkProgram to be compiled in the same project as well.

Some reasons I can see it being nice to have (mostly from a user-friendly perspective):

  1. Transparency in what you are deploying. A compiled list of dependencies could be nice in the deployment output.
  2. Has some educational value for newcomers seeing their dependencies as part of the deployment output

Some reasons not to have it:

  1. Could lead to some clutter that isn't necessary and has some output overload

What do you think?

And @ymekuria replied:

@MartinMinkov I think it is a good idea to list all the dependancies somewhere, but as @shimkiv mentioned it will necessitate more discussion and thought to do it well. We will have to think about how to display the dependancies in a intuitive way, whether or not we should store the dependency tree in the config, and what the best data structure to do so etc etc. All that said, I like the idea.