ep2p / kademlia-netty

Java implementation of Kademlia DHT using netty and abstraction layer
MIT License
0 stars 1 forks source link

Do you want any development help? #11

Open Steve973 opened 2 months ago

Steve973 commented 2 months ago

I would be interested in contributing. I am implementing a consensus protocol and I need a peer-to-peer network library. If you would like some help, I'd be glad to contribute. Please let me know!

sepgh commented 2 months ago

Hi steve, sorry for the late reply, I was on a vacation.

I am open to suggestions for improvements and new features for both kademlia-netty and kademlia-api implementations, and I have quite few ideas of my own but never thought if anyone is interested in this project continuing.

Afterwards, we can discuss how we can contribute to the projects (I am totally open to that and happy to see this).

Would love to hear back from you.

Steve973 commented 2 months ago

Hello, and thanks for the reply. I am currently working on a consensus protocol, and I need a peer-to-peer networking solution. My project is here: https://github.com/Steve973/simplex-consensus-protocol and, as you can see, I have most of the core protocol finished, but I am still unsure of how to proceed with the networking. I will need to be able to discover peers and set up TLS between them so that they can pass messages. I don't really know how suitable your library is for what I need, but I would be willing to help if it doesn't have the necessary features. But, if you might not continue with this project, then that would be good to know, as well, before I start using it. So, just let me know...

sepgh commented 2 months ago

To be frank I doubt this library is well tested and configurable enough to be used in any serious project, yet. I wrote this as more of a "proof of concept" that "we can throw any network protocol" on top of the Kademlia API I wrote. However, if the exact requirements are known (for example you mentioned TLS) I am willing to work on both projects again. Let me know what you think and if you want to give it a chance we can discuss more requirements and concerns about the projects and plan for it.

P.S: I already took a brief look at your project. Looks interesting and I have a lot to learn from it. Also, the reason I insist on talking about details is that every feature as you know has many details to be considered. Like for TLS to be used in a decentralized project, I wonder if any self signed certificate should be accepted or what is the alternative approach.

Steve973 commented 1 month ago

I decided to pivot a bit. I am re-implementing my consensus protocol in Scala, and I am using Akka. The actor model is an extremely good fit for my project. I will probably need some additional peer-to-peer functionality on top of the features that Akka includes, but I don't quite know what I will need, yet, until I get to that point. It would probably be better to know what I'm doing in advance, but, um, where's the fun in that?!