📖
[Deprecated] Launchpad Curriculum
  • README
  • About Launchpad
  • Launchpad Learning Resources
    • The Protocol Labs Network
      • What is the PL Network?
      • Teams in the PL Network
      • Protocol Labs Culture
      • Where We are Headed
      • Open Source Stewardship
      • Open Source Contribution
    • IPFS
      • IPFS Setup (Tutorial)
      • Mutable Content
      • IPFS Public DHT
      • Who Uses IPFS
      • How IPFS Works
      • Data Transfer
      • IPFS Subsystems & Architecture
      • The IPFS Gateways
      • The IPFS API (Tutorial)
      • IPFS Resources
    • IPLD
      • Content Addressing & CIDs
      • Graphs: Merkle DAGs
      • The IPLD Data Model
      • IPLD & IPFS
      • Codecs
      • IPLD Schemas
      • Paths & Selectors
      • Distributed Data Structures
      • The CAR Format
      • IPLD Resources
    • libp2p
      • Core Concepts
      • libp2p Connections and Users
      • Decentralized Messaging
      • Gossipsub
      • Distributed Networking Solutions
      • Nat Traversal and Hole Punching
      • libp2p Resources
    • Filecoin
      • How Filecoin Works
      • Filecoin Cryptoeconomics
      • The Filecoin Protocol
      • Drand
      • Progress & Future Work
      • Filecoin Resources
  • Other Resources
    • Pre-Requisites
      • Web3 & Protocol Labs
      • Building Web3
      • Web3 Tools
    • Protocol Labs Toolkits & SDKs
      • Textile
      • Ceramic
      • Fleek
      • Web3.Storage
      • Piñata
    • Built On IPFS and Filecoin
    • Additional Learning
Powered by GitBook
On this page
  • Main Resources
  • Reference
  • Community
Edit on GitHub
  1. Launchpad Learning Resources
  2. libp2p

libp2p Resources

Websites, Repos, Community & More

PreviousNat Traversal and Hole PunchingNextFilecoin

Last updated 2 years ago

Main Resources

  • libp2p

  • libp2p

  • libp2p

Github Discussions

  • libp2p

  • libp2p

  • libp2p

Tutorials

If you want to dive in, check out our , which will help guide you through your explorations of libp2p.

You can also follow this to build a small ping clone, sending a ping to a peer, expecting a pong as a response.

Examples

If you want to get a feel for what's possible with libp2p, or just want to see some idiomatic usage, check out the . Each libp2p implementation maintains a set of working example projects that can illustrate key concepts and use cases.

Reference

Specifications & Planning

While libp2p has several implementations, it is fundamentally a set of protocols for peer identity, discover, routing, transport and more.

Implementations

Community

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.

Get Involved

Related Projects

libp2p began as part of the IPFS project, and is still an essential component. 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:

See the for details.

At the core of libp2p is a set of , which together form the definition for what libp2p is in the abstract and what makes a "correct" libp2p implementation. Today, implementations of libp2p exist in several languages, with varying degrees of completeness. The most complete implementations are in , , and .

In addition to the implementations above, the libp2p community is actively working on implementations in and . 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 , but you can also for a quick chat.

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 to get started.

If you are diving in to contribute new code, make sure you check both the and the style guide for your language (, ).

is the InterPlanetary File System, which uses libp2p as its networking layer.

is a variety of self-describing data formats.

is a set of tools for describing links between content-addressed data, like IPFS files, Git commits, or Ethereum blocks.

is a licensing strategy for software development that embraces open-source values.

Website
Github Repos
Documentation
spec issues
notes issues
discussion forum
collection of tutorials
Getting Started with Rust and libp2p tutorial
examples
specifications section
specifications
Go
JavaScript
Rust
python
the JVM via Kotlin
discuss.ipfs.io
hop on IRC
contributing guide
contribution guidelines
Go
JavaScript
IPFS
Multiformats
IPLD
The Permissive License Stack