plume-sig / zk-nullifier-sig

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

Resolve half of #67 (Part 1/2) #93

Closed skaunov closed 7 months ago

skaunov commented 7 months ago

arkworks-rs have some issue while publishing (to ) concerned with serde dependency. I don't feel like delving into that one is reasonable giving that it's outdated anyway. It's API have been sorted out, and documented.

The other crate can be found at https://crates.io/crates/plume_rustcrypto. Any changes to it are welcome: let's add it to this PR.

Then squash and merge.

Note from Aayush: We still need to update plume_arkworks, add simple examples, and fix the docs URLs.

skaunov commented 7 months ago

@Divide-By-0 , that plume_rustcrypto naming was actually last minute change, since I too wanted to go with "plume_crypto" for some time. But going through all the thing and some crates I felt like it's not communicating that clear that there's two versions: for arkworks-rs and for RustCrypto ecosystems. So made it a bit more specific. Let's give some time to make its way to how they both look... And it can be transferred easily to that other name. :shrug:

Divide-By-0 commented 7 months ago

RustCrypto

That makes sense then, as long as the naming is consistent i.e. fix the 'Find RustCrypto crate as plume_crypto.' comment!

Regarding docs, the crates have no README so the documentation is bare on i.e. https://crates.io/crates/plume_rustcrypto -- to close this issue, we need to 1) add simple readmes, 2) add that autogenerated default rust docs that show all the pub interfaces (i.e. cargo doc) via their docstrings, and 3) some simple installation and 2 line examples in readmes with implementations. In my opinion, given the arkworks implementation is both unsafe and lower priority, there should be a big warning in that crate doc to contact us before using it.

skaunov commented 7 months ago

All are very valid points, I just need to come to something on how to best express them. :sweat_smile: I mean some doesn't go that smooth when trying.

1) I don't like this bare look too. Though all I came up with is the link to this repo file; since that page isn't documentation yet, but it contains the link to the documentation (the one which cargo doc / pub interfaces) in the designated section. When it's not a monorepo stuff we have in the actual goes there. Hence the link. I don't like copying it, since it's kinda awkward to bump version with just changes... Any better ideas are welcome!

2) That one is confusing, since there's a couple of quick ways to get to https://docs.rs/plume_rustcrypto/ really fast, and the link from the crate page is one of them. So people are really don't expect that.

3) This one is really needed. I thought that the API is really small for adding an example, but they're always good! The problem is that without sign method it's hard to show the thing concisely; so I guess I'll do that one before closing this. Also I'll add the example to the other crate just so it would be present and maintained, and came naturally when that crate will be there.

For the last one I added a HAZMAT notice.

Divide-By-0 commented 7 months ago

All are very valid points, I just need to come to something on how to best express them. 😅 I mean some doesn't go that smooth when trying.

  1. I don't like this bare look too. Though all I came up with is the link to this repo file; since that page isn't documentation yet, but it contains the link to the documentation (the one which cargo doc / pub interfaces) in the designated section. When it's not a monorepo stuff we have in the actual goes there. Hence the link. I don't like copying it, since it's kinda awkward to bump version with just changes... Any better ideas are welcome!
  2. That one is confusing, since there's a couple of quick ways to get to https://docs.rs/plume_rustcrypto/ really fast, and the link from the crate page is one of them. So people are really don't expect that.
  3. This one is really needed. I thought that the API is really small for adding an example, but they're always good! The problem is that without sign method it's hard to show the thing concisely; so I guess I'll do that one before closing this. Also I'll add the example to the other crate just so it would be present and maintained, and came naturally when that crate will be there.

For the last one I added a HAZMAT notice.

  1. Sweet. It's totally fine to bump version with a README change -- no one's using it yet haha.
  2. Yeah, we should just include that docs.rs link in the README and in the github repo.
  3. Makes sense, lets do it in that order then.
  4. I don't see anything at https://docs.rs/plume_arkworks or https://crates.io/crates/plume_arkworks -- did it get moved?
Divide-By-0 commented 7 months ago

Going to merge this for now so that the README shows up in the crates docs -- i expect this issue is still open however till we get sign merged etc!

skaunov commented 7 months ago

Two tiny notes. I meant not the version counter but the fact that it would be always behind actual without any reason for it. And basically the link is always on the page where people used to find it; no problem to double it, but it would be helpful only for that rare occasion when someone would receive the crate outside and Github. %) On Thu, Feb 15 2024 at 12:16:10 PM -0800, Yush G @.***> wrote:

I don't like this /bare/ look too. Though all I came up with is the link to this repo file; since that page isn't documentation yet, but it contains the link to the documentation (the one which cargo doc / pub interfaces) in the designated section. When it's not a monorepo stuff we have in the actual

goes there. Hence the link. I don't like copying it, since it's kinda awkward to bump version with just changes... Any better ideas are welcome! Sweet. It's totally fine to bump version with a README change -- no one's using it yet haha. Yeah, we should just include that docs.rs link in the README and in the github repo. — Reply to this email directly, view it on GitHub , or unsubscribe . You are receiving this because you authored the thread.Message ID: ***@***.***>