-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BOUNTY] Community Improvement Bounty - libp2p - Noise handshake Golang and JavaScript implementation #17
Comments
Another 1500 EUR is being offered by the ICF for this |
Thanks so much ICF and @ebuchman <3 |
I've read the awesome spec (thanks @yusefnapora) and am considering working on this. @raulk, I'm going to find you this week to discuss! If you're a hackathon participant reading this and might like to hack together, I'm at @wildmolasses on twitter / telegram / github. |
@wildmolasses cool. Let's coordinate with @noot who also wants to hack on this ;-) Given the extra incoming cash (thanks to @ebuchman and ICF, as well as some extra amount we'll chip in from PL), we want to expand the scope to add a javascript implementation. |
Protocol Labs is chipping in an extra 500 EUR! (besides our sponsorship of ETHBerlinZwei) And given the extra incentives, we're expanding the scope to include a JS implementation too. We encourage this not to be a competitive effort. Find co-hackers and build a multi-lingual team to deliver both Go and JS! 🎉 |
hey @raulk, shall the js implementation be written with async/await instead of pull-streams? Thanks. |
@wildmolasses summoning @vasco-santos to answer this question, who will help out with js-libp2p from our end ;-) |
Hey @wildmolasses Thanks for your interest in the js implementation! We are currently on the way to migrate from In spite of being great to have it written with async, I believe that you would be more comfortable with an implementation with the same stage as I think the ideal solution here would be to use Feel free to ping me with this :) |
Here's our devpost submission: go-libp2p-noise. Thanks so much for your help @vasco-santos and @raulk |
libp2p Noise handshake Golang and JavaScript implementations
Hackers, roll your sleeves up and hack for a chance to win 3500 EUR! 🤑
See devgrant 4 in the libp2p/devgrants tracker: libp2p/devgrants#4
The bounty/devgrant brief can be found here: https://github.com/libp2p/devgrants/blob/master/004-noise-handshake-implementations.md.
The technical specification of noise-libp2p can be found here: https://github.com/libp2p/specs/tree/master/noise.
How to qualify
If you intend to work on this, speak to @raulk before you start for guidance, scope setting, and a walkthrough of the spec! It's simpler than it seems 🤞
Develop a go-libp2p-noise module for go-libp2p:
SecureTransport
interface.Develop a js-libp2p-noise module for js-libp2p:
interface-connection
interfaces, in the same way thatjs-libp2p-secio
does.Make sure to include:
libp2p.New()
– and assert they can communicate).Submit a pull request to the Golang placeholder repo, and create a new repo for the JS implementation. Both to be licensed under ASLv2 and MIT, by way of the Permissive License Stack.
Resources
👾 We have a spec, we have a spec, we have a spec! 😄 \o/
https://github.com/libp2p/specs/tree/master/noise
See https://github.com/ethberlinzwei/KnowledgeBase/blob/master/resources/libp2p.md for more context, and use @raulk as a walking encyclopedia for all things libp2p.
Judging Criteria
Prizes
The text was updated successfully, but these errors were encountered: