Zenon Rust SDK

Reference implementation for Zenon SDK for Rust. Compatible with Zenon Alphanet - NoM. It provides a simple integration with any Rust based project.

Requested funding 5000 ZNN & 50,000 QSR.

  • Yes I support this initiative
  • No I do NOT support this initiative

0 voters

@georgezgeorgez or @Dumeril would love to hear your feedback on this proposal.

2bonahill How long will this this take to implement?

I would say a few months (not full time of course). Hard to estimate the complexity of all the crypto involved (keyfile, keystore, argon2, bip, aes, etc).

1 Like

I would receommend you provide a breakdown of how you arrived at 5K ZNN and 50K QSR being a reasonable price for this activity. That is the max allocation, but i would assume creating an SDK is one of the more simple hyperspace tasks.

At $100 per hour it is ~700h which is 4-5 months of full time work.

It would be helpful to the network to have a Rust SDK so other aspects of the proposal seem to be on point.

The community seems to like rust so the idea itself is relevant.

It’s much too expensive. For any sdk, 90% of the work is done repetitively wrapping methods that return simple json structures. I.e., structured data that you simply reinterpret into a suitable type. I don’t know rust but I can do that in any language I don’t know yet, after a few hours of playing around. Just a bit of discipline needed and some hours to put in. For reference, in a language I’m proficient in, wrapping the whole rpc api takes like two days of work to make it clean and nice.

Then there’s the wallet functionality, which is indeed a bit more complicated, as it requires dealing with keys and signatures and stuff. Depending on your experience in that field this will take some time. However, we don’t pay for the learning experience but for the product. We should assume the person proposing knows how to do it and gauge effort accordingly. Then it isn’t much. You don’t have to develop new crypto routines, you just call the correct methods in existing libraries. I’m not experienced with this but I think with two more days I could get it done. Make that one day since we assume proficiency.

That’s three days of concentrated work. Add one as a buffer, that’s fair. Double that amount for proper testing, examples and documentation. That’s like 60 hours for a polished, well-tested and documented sdk. Can be 100 if you have to learn your stuff along the way, but again, that’s not what we should pay for.

Red flag: Saying it’s “hard to estimate” some part of the work when being asked how long this will take.

6 Likes

Thank you so much for this insight. As these proposal start to roll in it’s clear we need more information from the applicants. Applicants should assume the “entities” reviewing proposals are industry professionals, but not necessarily people who understand code. In order for me (deeZNNutz.com) to review and understand proposals I would like to see:

  1. The experience of the applicant. Why are you qualified to do the proposed project?
  2. Provide support for the amount of ZNN / QSR you are requesting. For example this proejct will take 100 hours and my hourly rate is $100 USD/h
  3. Explain the project to someone who does not understand code. What are you submitting? Why are you submitting it? How does the submission benefit the community and proejct?

Have a look at how Solana does this application process: Grants. I’m going to work on something like this (in collaboration with the community) for future applications. But in the meantime, if @2bonahill can answer the questions in this thread it will be very helpful to evaluate this proposal.

3 Likes

Hi. i have started to lay out the phases. you can find it in the last section of the readme file on the github link. i fully agree: 5k is too much and i will not insist on it! you are right: the crypto stuff is the challenge, the rest is more or less tons but simpler work regarding the apis (ws calls, json parsing, etc).

for me it was important to have this discussion and i was fully aware that by me simply hitting max this discussion will follow. i think it is important to have this open discussion and transparency on how we value projects.

4 Likes

You should make sure that you define comprehensive unit tests for the wallet stuff. With results that are verifiable for non-professionals, but also reproducible for other devs. Make that an integral part of your deliverables

1 Like

I assume this needs to be resubmitted w/ a new budget correct? Not sure if there is a feature to adjust budget mid-vote that restarts the clock / vote counter?

happy to re-submit. will further work out a project plan, based on which a better estimation can be derived.

4 Likes

fully agreed! tests will be key, especially because the SDK will be something many other projects will hopefully build upon.

3 Likes

Hey guys, I voted no with the understanding @2bonahill will be resubmitting with additional information and additional support for the cost estimate. Sounds like the community does support this so looking forward to a resubmission. Thx!

2 Likes

Same here on both accounts

That’s right. Tried to delete my submission, but that doesn’t work. So let’s wait for this voting period to end and I can then resubmit. Absolutely okay for me, i will continue working on the SDK anyway :slight_smile:

3 Likes

I think you can resubmit and name it v2 or Rust ZDK, without waiting for another week.

2 Likes

Will do so, probably tomorrow. Have set together an overview with the phases and efforts per phase. I will multiply the hours by $100, as suggested on this forum and calculate the amount of ZNNs.

On top of that I will make the repo public. First use cases are already working.

4 Likes

awesome. Look forward to seeing it come through!

Hello everyone. I just resubmitted Zenon Rust SDK v2. The repo is public, the link for the AZ information can be found in the Readme file.

I wanted to put QSR to 0, but minimum amount to submit is 100.

Happy to get your views.

2 Likes

weird enough: the v2 appendix got lost in the name of the new submission. But you will find it easily