Welcome to the libp2p documentation portal! Whether you’re just learning how to build peer-to-peer systems with libp2p, want to dive into peer-to-peer concepts and solutions, or are looking for detailed reference information, this is the place to start.
Head over to What is libp2p? for an introduction to the basics of libp2p and an overview of the problems it addresses.
If you want to dive in, check out our collection of tutorials, which will help guide you through your explorations of libp2p.
If you want to get a feel for what’s possible with libp2p, or just want to see some idiomatic usage, check out the examples. Each libp2p implementation maintains a set of working example projects that can illustrate key concepts and use cases.
While libp2p has several implementations, it is fundamentally a set of protocols for peer identity, discover, routing, transport and more.
See the specifications section for details.
In addition to the implementations above, the libp2p community is actively working on implementations in python and the JVM via Kotlin. Please check the project pages for each implementation to see its status and current state of completeness.
Get in touch with other members of the libp2p community who are building tools and applications with libp2p! You can ask questions, discuss new ideas, or get support for problems at https://discuss.ipfs.io, but you can also hop on IRC for a quick chat.
See the other links in the community section for more information about meetings, events, apps people are building, and more.
Information about contributing to libp2p and about other software projects in the community are also hosted here.
libp2p is an open-source community project. While Protocol Labs is able to sponsor some of the work around it, much of the design, code, and effort is contributed by volunteers and community members like you. If you’re interested in helping improve libp2p, check the contributing guide to get started.
libp2p began as part of the IPFS project, and is still an essential component of IPFS. As such, libp2p composes well with the abstractions and tools provided by other projects in the IPFS “family”. Check their individual sites for specific information and references: