libp2p is a modular networking framework bundled together as a full stack of protocols for peer-to-peer systems. It is the product of a long and arduous quest into the internet's network stack and all of the plentiful peer-to-peer protocols of the past. Building large-scale peer-to-peer systems has been complex and challenging in the last twenty years and libp2p is a way to fix that. It is a "network stack"—a protocol suite—that cleanly separates concerns and enables sophisticated applications to use only the protocols they need without giving up interoperability and upgradeability. libp2p grew out of IPFS into an independent project designed to give any project state-of-the-art peer-to-peer capabilities.
Learn more about libp2p at libp2p.io and docs.libp2p.io.
View the formal specifications of libp2p on the specifications repository.
Follow the latest libp2p implementations at libp2p.io/implementations.
- go-libp2p
- js-libp2p for Node.js and the Browser
- rust-libp2p supports Wasm as well
- py-libp2p
- cpp-libp2p
- swift-libp2p
- nim-libp2p
- jvm-libp2p for Kotlin as well
- zig-libp2p
- dotnet-libp2p
- litep2p an alternative Rust implementation
The following are implementation projects that have fallen dormant and we would love to help volunteers revive them. If you're interested, please reach out on any of our forums or chat rooms and we can help you start where the previous maintainers left off.
- erlang-libp2p in Erlang
For all libp2p community announcements look for posts under the "News" topic in the community-wide forums or tagged as an announcement in the technical discussion forums and chat channels listed below.
The libp2p community blog can be read at blog.libp2p.io. If you would like to write a blog post about your cool project that uses libp2p, you can either post a message in this project's discussion forum or you may post a message in our community-wide discussion forums at discuss.libp2p.io. If you tag either @p-shahi or @dhuseby in your post we'll get back to you ASAP about your post.
If you're a libp2p implementer, consumer, or user you are welcome to join the community meetings we host regularly. Stay up to date by following the libp2p community calendar on Lu.ma (add it to your calendar with this iCal feed).
Please visit our community-wide discussion forums at discuss.libp2p.io to discussion community events such as hackathons and conferences and to ask questions about the past, present, and future of libp2p, and more.
If you are looking for technical help about a specific libp2p implementation, you may ask in the discussion forums on each of the implementation's Github Discusssions Forum. Here's the list of links to their technical discussion forums for each implementation listed above:
- go-libp2p Tech Discussions
- js-libp2p Tech Discussions
- rust-libp2p Tech Discussions
- py-libp2p Tech Discussions
- cpp-libp2p Tech Discussions
- swift-libp2p Tech Discussions
- nim-libp2p Fourm
- jvm-libp2p Tech Discussions
- zig-libp2p, no technical forum yet
- dotnet-libp2p Tech Discussions
- libp2p on Filecoin Slack
- libp2p on Discord
- libp2p on Telegram
- libp2p on Matrix
- nim-libp2p Discord
Throughout the year, the libp2p community participates in a number of hackathons and we send speakers to community conferences such as EthGlobal all around the world. If you are interested in participating, keep an eye on the community calendar and announcements to learn about when and how you can get involved.