4 ms·
How about IPFS? OpenBazaar is an IPFS case study. They recently released a revamped v2 built with Go.
by Dowwie 9y ago
How about IPFS? OpenBazaar is an IPFS case study. They recently released a revamped v2 built with Go.
- zilchers 9y agoThat's interesting, I hadn't thought about IPFS - it doesn't really have a strong message passing semantic so much as it has good replication properties, but maybe you could build a distributed log on top of it.
- jjallen 9y agoBy good "replication properties" you mean "having to run many scripts/nodes yourself" to get widely replicated that is true. We found IPFS in general to be awesome software that just wasn't quite ready for production. There's IPFS-cluster[0] but that's still in capital-letters ALPHA. https://github.com/ipfs/ipfs-cluster https://github.com/ipfs/ipfs-cluster
- jjallen 9y agoThey are working on this: https://github.com/orbitdb/ipfs-log https://github.com/orbitdb/ipfs-log
- xendipity 9y agoYeah, 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/ https://libp2p.io/. It's also implemented in both go and js (as most of IPFS is)
- eeZah7Ux 9y agoThe wire protocol is practically almost not documented.
- jjallen 9y agoWe 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.
- lgierth 9y agoSorry 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.
- ComputerGuru 9y agoDid you try to investigate the stack trace or file a bug upstream? No snark intended!
- jjallen 9y agoYes, 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 be devoted to Filecoin, which is probably a safe bet.
- lgierth 9y agoWe have no intention of letting libp2p stagnate - blog post with announcements coming soon!
- jjallen 9y agoI'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.
- lgierth 9y agoLook 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/ARCHITECTURE.md https://github.com/ipfs-shipyard/peer-pad/blob/master/docs/A...