Zokrates / ZoKrates

A toolbox for zkSNARKs on Ethereum
https://zokrates.github.io
GNU Lesser General Public License v3.0
1.82k stars 363 forks source link

Publish the ZoKrates interpreter and backend to crates.io #314

Open Voxelot opened 5 years ago

Voxelot commented 5 years ago

It'd be nice if part of the CI process not only built the docker images but also pushed to crates.io. This would make it far more convenient to use zokrates beyond CLI/Docker wrappers.

Docs for this are available here: https://doc.rust-lang.org/cargo/reference/publishing.html

Schaeff commented 5 years ago

Interesting. Do you have a specific use case in mind?

Voxelot commented 5 years ago

I'd like to be able to include zokrates core as a dependency from crates.io into rust-based webservice (e.g. actix). That way I can build a localized client-server app for performing a variety of proof generations for several different circuits.

A second usecase I'm thinking of would be including zokrates core into a project which wraps the APIs using rustwasm bindings for making it more browser compatible.

Schaeff commented 5 years ago

So you're mostly interested in running and proving, not the compiler itself, correct?

Voxelot commented 5 years ago

Yeah, no need to do on-the-fly compilation - proof generation would be the main use-case I have in mind. Although I'm sure publishing ZoKrates modules would be beneficial to others with different use-cases.

Schaeff commented 5 years ago

Right, that's what I thought. In that case a good start would be to extract the interpreter so that we can publish it on Crates.io.

Voxelot commented 5 years ago

Why not just publish the zokrates_core package as-is? Wouldn't this include the interpreter?

Schaeff commented 5 years ago

Yes it would, but in my opinion it's not quite ready to be used externally as a lib and it would be less work to make the interpreter ready as it's much smaller.

alv-around commented 2 years ago

What is the status of this issue? Is the help wanted still actual?

titaniumtraveler commented 1 year ago

Publishing to Crates.io would also have the upside that the docs would be easily available on docs.rs. Though for that reason it might be good to just publish all the packages. That way all the documentation would be available and could be linked to.

depechec0de commented 2 months ago

@Voxelot did you manage to solve this? Did you include the zokrates_core directory to your project?