Live data from Hacker News

Ask HN: Recommendations for Peer to Peer Frameworks?

news.ycombinator.com

71–78 of 78 posts

Re: Ask HN: Recommendations for Peer to Peer Frameworks?

#72
Another project you might find useful, that we at https://www.maidsafe.net are actively working on, is https://github.com/maidsafe/crust/.

It's a generic peer-to-peer networking library written in Rust.

  * it connects two peers together
  * various NAT traversal techniques are implemented: hole punching, UPnP/IGD, etc.
  * it supports both TCP and UDP. In case of UDP it uses uTP: http://www.bittorrent.org/beps/bep_0029.html
  * all messages are encrypted
  * it implements automatic peer discovery on LAN
  * it caches it's previous connections and is able to reuse them in the future
  * etc.

Re: Ask HN: Recommendations for Peer to Peer Frameworks?

#73
Peer Name Resolution Protocol (PNRP)

- Developed by Microsoft

- Open Specification

- DHT-based

- IPv6 only

- Windows support since Windows XP SP 3

- .NET support since .NET Framework 3.5 (System.Net.PeerToPeer)

[1]: https://en.wikipedia.org/wiki/Peer_Name_Resolution_Protocol

[2]: https://msdn.microsoft.com/en-us/library/aa371699.aspx "PNRP Namespace Provider API"

[3]: https://msdn.microsoft.com/en-us/library/bb726971.aspx "Peer Name Resolution Protocol"

Re: Ask HN: Recommendations for Peer to Peer Frameworks?

#74
post #61

Earlier quoted context omitted.

Did you try to investigate the stack trace or file a bug upstream? No snark intended!

Yes, of course, and it was WebRTC. We ended up with a better solution (encoding the metadata we were storing in IPFS in a bytes32 stored in the Ethereum blockchain). There were extra scripts and setup. Overall moving off simplified our stack, so it was probably a good move despite libp2p's crashing. Could be totally fixed by now for all I know. That said, it was believed that most Protocol Labs resources were/would b…

We have no intention of letting libp2p stagnate - blog post with announcements coming soon!

Re: Ask HN: Recommendations for Peer to Peer Frameworks?

#75

Peer Name Resolution Protocol (PNRP) - Developed by Microsoft - Open Specification - DHT-based - IPv6 only - Windows support since Windows XP SP 3 - .NET support since .NET Framework 3.5 (System.Net.PeerToPeer) [1]: https://en.wikipedia.org/wiki/Peer_Name_Resolution_Protocol [2]: https://msdn.microsoft.com/en-us/library/aa371699.aspx "PNRP Namespace Provider API" [3]: https://msdn.microsoft.com/en-us/library/bb726971…

Microsoft had a few cool things, but it all seemed .net specific. Check out this in WCF https://msdn.microsoft.com/en-us/library/cc297274.aspx

Re: Ask HN: Recommendations for Peer to Peer Frameworks?

#76
post #26

Look into libp2p created by the Protocol Labs team (created IPFS). We're thinking of moving to this framework internally at Ethereum.

Second vote for libp2p. It looks very mature and generic enough to build whatever off of it. It has implementations in js and go. If you end up rolling your own, I found js to have the most building blocks (pmp and upnp libraries).

Can anyone point to some higher-level libraries or open-source apps built on top of libp2p?

Re: Ask HN: Recommendations for Peer to Peer Frameworks?

#77
post #76
post #26

Earlier quoted context omitted.

Second vote for libp2p. It looks very mature and generic enough to build whatever off of it. It has implementations in js and go. If you end up rolling your own, I found js to have the most building blocks (pmp and upnp libraries).

Can anyone point to some higher-level libraries or open-source apps built on top of libp2p?

Apart from the obvious js-ipfs and go-ipfs, check out ipfs-cluster and LivePeer. libp2p is actually meant to be pretty high-level so I'm not aware of more high-level libraries.

Re: Ask HN: Recommendations for Peer to Peer Frameworks?

#78
post #77
post #76

Earlier quoted context omitted.

Can anyone point to some higher-level libraries or open-source apps built on top of libp2p?

Apart from the obvious js-ipfs and go-ipfs, check out ipfs-cluster and LivePeer. libp2p is actually meant to be pretty high-level so I'm not aware of more high-level libraries.

Actually, a few minutes later, diggan set my understanding of your question straight :) Check out peer-crdt, the ipfs/y.js bridge, ipfs-pubsub-room, and orbitdb!
Post reply on HN