plume-sig / zk-nullifier-sig

Implementation of PLUME: nullifier friendly signature scheme on ECDSA
MIT License
128 stars 22 forks source link

Crates API and documentation #67

Closed skaunov closed 4 months ago

skaunov commented 8 months ago

Both crates basically lacks documentation, and <./rust-k256> lacks API choices.

Also their name are ...temporary.

PS It would be nice to think about traits used and reexported so that it would not clash with versions that downstream use. Though most likely Cargo will do its job on it, just it's better to be sure. This one is more about releasing the crates when things will come to it.

skaunov commented 8 months ago

We should consider to release the crate with the traits which would define API and then use it in own implementations and enable foreign.

I'm not sure yet about downsides of this approach aside from some added complexity which would buy uniformity of all implementations. So counter arguments are welcome.

Divide-By-0 commented 8 months ago

I don't expect most people to use the crate anyways since it'll require custom logic to get the secret key in there and don't know any rust wallets.

Agree on adding docs and making name more uniform.

skaunov commented 8 months ago

From the top of my head I would name Solana. X) Didn't check Polkadot, but would place a bet on it too.

On Sun, Oct 22 2023 at 07:23:45 AM +0000, Yush G @.***> wrote:

I don't expect most people to use the crate anyways since it'll require custom logic to get the secret key in there and don't know any rust wallets.

Agree on adding docs and making name more uniform.

— Reply to this email directly, view it on GitHub https://github.com/plume-sig/zk-nullifier-sig/issues/67#issuecomment-1774018676, or unsubscribe https://github.com/notifications/unsubscribe-auth/APXLOT65UYH3RHK2KQO3ZATYATCX7AVCNFSM6AAAAAA6KK5PXSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZUGAYTQNRXGY. You are receiving this because you authored the thread.Message ID: @.***>

Divide-By-0 commented 8 months ago

Got it -- that makes sense, I don't know anything about those. Traits seem fine to me -- the complexity shouldn't be that high on our side right, just implementing the trait twice? As long as almost everything is pub, I'm OK with that.

Divide-By-0 commented 5 months ago

Can you make a gitbook or mdbook and make this? Also, can you publish a cargo crate -- there should automatically be cargo docs from the docstrings right?

skaunov commented 5 months ago

Can you make a gitbook or mdbook and make this? Also, can you publish a cargo crate -- there should automatically be cargo docs from the docstrings right?

Yep. Here it's needed to groom the interfaces and write those docstring.