Live data from Hacker News

Ask HN: Recommendations for Peer to Peer Frameworks?

news.ycombinator.com

41–50 of 78 posts

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

#43
post #24
post #2

How about IPFS? OpenBazaar is an IPFS case study. They recently released a revamped v2 built with Go.

I'd love to read technical details about what they built with it and how they manage replication. Will look for some and repost if I find.

Look at the IPFS Pubsub and Y.js integration, that e.g. PeerPad uses to build distributed text editing: https://github.com/ipfs-shipyard/peer-pad/blob/master/docs/A...

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

#44
post #21

Earlier quoted context omitted.

Yeah, I'd look at IPFS's networking library, libp2p. It's the peer-to-peer backbone of IPFS and has a big community and active development https://libp2p.io/ . It's also implemented in both go and js (as most of IPFS is)

We moved away from libp2p at the project I work on because of major instability problems in browsers. Our dapp that used libp2p would crash after a few minutes and was generally not easy to use. EDIT: I'm referring to the JS version here.

Sorry to hear you had move to something else -- my guess is these crashes were from WebRTC, which isn't very performant in browsers yet. Especially with more than a handful of WebRTC connections, we've seen it crash regularly.

We've switched the default browser-to-browser transport in js-libp2p to a websockets relay recently, so you should give it another try.

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

#45

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

>We're thinking of moving to this framework internally at Ethereum. Why not GNUnet? Check the recently released 181 pages long dissertation on it: https://grothoff.org/christian/habil.pdf

GPL license is probably a non-starter.

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

#46
The WebTorrent Project [1] has a whole suite of tools for decentralized applications based around BitTorrent. It's not a framework per-se, but it breaks up the protocol into libraries for your use.

If you're interested in Ethereum, it has other non-blockchain technologies that you can use for your apps. It has the Swarm network for storing bits of data, the Whisper network for chat and messaging, as well as Public-Key signing to verify messages. I'm using the latter functionality for a demo to replace password as the security mechanism.

[1]: https://github.com/webtorrent

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

#47
The virtual synchrony protocols don't get enough love. Conceptually, they're sort of like if you performed PAXOS to determine ordering for a distributed finite state machine. Let's you build all sorts of distributed applications where you trust the nodes.

https://en.wikipedia.org/wiki/Virtual_synchrony

http://www.jgroups.org/

https://archive.codeplex.com/?p=vsync

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

#49
post #21

Earlier quoted context omitted.

Yeah, I'd look at IPFS's networking library, libp2p. It's the peer-to-peer backbone of IPFS and has a big community and active development https://libp2p.io/ . It's also implemented in both go and js (as most of IPFS is)

We moved away from libp2p at the project I work on because of major instability problems in browsers. Our dapp that used libp2p would crash after a few minutes and was generally not easy to use. EDIT: I'm referring to the JS version here.

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

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

#50
post #9

Maybe Scuttlebutt? https://www.scuttlebutt.nz/ Scuttlebutt is advertised as a social network, but in core it is an eternal distributed log. You can pass either public or private messages and assets around.

Scuttlebutt and Dat (https://datproject.org/) are definitely looking like good bets right now.
Post reply on HN