Near the end it says it's being developed by people in the IPFS community. Does anyone know for what they plan on using it?
Near the end it says it's being developed by people in the IPFS community. Does anyone know for what they plan on using it?
Yes, we use it today! libp2p is the P2P Networking Stack of IPFS that we refactored into its own project so that others could take advantage and be part of its ecosystem as well.
It is what gives IPFS and other projects the P2P connectivity, support for multiple platforms (including Browsers) and more! There are 3 implementations interoperable today at different stages of completion (Go, JS for Node.js & Browser and Rust). Full overview here https://www.youtube.com/watch?v=CRe_oDtfRLw
Also, Chris Pacia recently delivered an amazing talk at QCON about libp2p https://www.infoq.com/presentations/blockchain-libp2p, I totally recommend checking it out.
You can find more talks of examples and use cases at https://libp2p.io/media.
Give it a spin and post feedback on github.com/libp2p. We are also on #libp2p on freenode, come say hi!
Ethereum is the only example I've found that comes close, but it's poorly commented and only implements a small set of details of libp2p.
Developing with the library essentially comes down to protobuf serialization logic inside a router with the path being the name of your protocol, just like you would in rails or node, everything else is handled by the library. To talk to a peer over your protocol you just need their address on the network (public key), your protocol name and to serialize your protobuf data to be written over the network, the libraries handle dialing/routing through connected peers if its not possible to directly connect to the peer.