holepunchto / hyperswarm

A distributed networking stack for connecting peers.
https://docs.holepunch.to
MIT License
1.04k stars 84 forks source link

Protocol documentation? #60

Open christianbundy opened 4 years ago

christianbundy commented 4 years ago

Hi! I'm looking for docs to implement this in other languages. My understanding is that it's DHT + MDNS, but I'm not sure how straightforward it is. Are there any resources y'all could recommend for making Hyperswarm work outside of Node.js? Thanks! :star:

mafintosh commented 4 years ago

I’m in the middle of documenting it right now :) We’ll be putting up a website as well. Which languages are you porting it to?

christianbundy commented 4 years ago

Great! I'm not actively working on porting to any language, but after investing heaps of time learning the SSB stack I'm hesitant to adopt a reference implementation before I can understand how hard it'd be to implement from scratch. Hyperswarm is lovely to work with because it Just Works, but I don't actually know what's Just Working and so I figured I'd reach out and start a chat.

Thanks for all of your work on this project!

mafintosh commented 4 years ago

Makes tons of sense. The DHT protocol is not too complicated (at least compared to the rest of the Hyper stack).

Since there’s growing interest I’ll try to just get the content up and style it later to be all nice and stuff :)

christianbundy commented 4 years ago

Sounds great, looking forward to checking it at your convenience.

christianbundy commented 3 years ago

Hi, I'm checking back in on this -- are there any resources I should check out, or are the protocol docs still WIP?

decentral1se commented 3 years ago

Yes, just wanted to chime in that this would be utterly fantastic (having the python implementation in mind...) :sun_with_face:

amoallim15 commented 3 years ago

I'm considering to port this specific implementation to python :D Keep up the great work!

decentral1se commented 3 years ago

Hey @amoallim15 if you get started and want to chat, I've been working on porting the hyper stack to python over at https://hyperpy.decentral1.se so would happily try to help out with your effort! Would be cool to see more python stuff in this space.

smoyer64 commented 2 years ago

@mafintosh

I was working on a Go implementation last year and have just come back to working on the project. The changes from v2.x.x to v3.x.x eliminate the use of protobuf and so the above referenced documentation is more important. What's the status of the protocol documentation? Would you want help with it? Or proof-reading it? (I'm a long-time protocol engineer and worked on the DOCSIS 3.0 and 3.1 specifications so I've got an eye tuned towards separating the protocol specifics from the implementation.

A couple follow-up questions: