libp2p
A modular and extensible networking stack which solves many challenges of peer-to-peer applications. observed · 2026-10-20
Health v2 · maintenance only
66/100
- Activity 74
- Release rhythm 35
- Longevity 100
Flags: no_releases
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-10-21. Adoption (stars, forks) is never an input.
- gap_med: n/a
- age_days: 3776
- days_rel: n/a
- days_push: 159
- n_releases_24m: 0
Adoption not part of the score
3144 stars · 296 forks observed · 2026-10-20
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-29, confidence not recorded
libp2p is a modular peer-to-peer networking stack and protocol suite, originally extracted from IPFS, with implementations in Go, Rust, JavaScript, and other languages. go-libp2p is the Go implementation, providing transports (TCP, QUIC, WebSocket, WebRTC), encrypted connections, stream multiplexing, peer discovery, and NAT traversal for building decentralized applications.
Use cases
- build a peer-to-peer file sharing application
- connect nodes in a decentralized network without central servers
- implement NAT traversal and hole punching between peers
- create encrypted peer-to-peer messaging between browsers and servers
- build a blockchain or DHT network layer in Go
- multiplex multiple protocols over a single peer connection
When to choose
- you are building decentralized or peer-to-peer applications in Go, Rust, or JavaScript
- you need cross-language interoperability via a shared protocol specification
- you need built-in NAT traversal, encrypted connections, and multiple transports
- you want a battle-tested stack used by IPFS, Ethereum, and Filecoin
When to avoid
- you only need simple client-server HTTP communication
- you want a zero-configuration networking solution with minimal concepts to learn
- your project requires a small dependency footprint, as libp2p is a large modular stack
- you need a stable API with long-term guarantees, since libp2p's APIs evolve with the specs
Facets
library · maturity stable
networking p2p rpc cryptography middleware networking microservices developer-tools blockchain go rust cross-platform browser windows peer-to-peer network-stack modular-protocols nat-traversal quic webrtc ipfs multi-language-implementations javascript nodejs linux macos
4 sources
- readme: https://github.com/libp2p/libp2p · fetched 2026-10-20 · b803f3627c6b
- homepage: https://libp2p.io · fetched 2026-08-29 · 612cbcc32c52
- site_page: https://libp2p.io/docs · fetched 2026-08-29 · 896e8eec763a
- site_page: https://libp2p.io/releases · fetched 2026-08-29 · da0f0b6db2fa
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| libp2p/libp2p | main | 66 |
| libp2p/go-libp2p | backend | 98 |
| libp2p/rust-libp2p | sdk | 91 |
| libp2p/js-libp2p | backend | 96 |
| libp2p/specs | docs | 76 |
| libp2p/go-libp2p-kad-dht | plugin | 97 |
| libp2p/go-libp2p-pubsub | plugin | 94 |
| libp2p/go-libp2p-examples | examples | 10 |
| libp2p/js-libp2p-webrtc-star | plugin | 10 |
| libp2p/go-libp2p-core | plugin | 10 |
| libp2p/js-libp2p-kad-dht | plugin | 10 |
| libp2p/go-libp2p-quic-transport | plugin | 10 |
| libp2p/go-libp2p-swarm | plugin | 10 |
| libp2p/js-libp2p-examples | examples | 72 |
| libp2p/go-libp2p-daemon | plugin | 60 |
| libp2p/js-libp2p-websockets | plugin | 10 |
| libp2p/go-libp2p-peerstore | plugin | 10 |
| libp2p/go-libp2p-webrtc-direct | plugin | 10 |
| libp2p/js-libp2p-crypto | plugin | 10 |
| libp2p/js-libp2p-webrtc-direct | plugin | 10 |
| libp2p/js-libp2p-tcp | plugin | 10 |
| libp2p/js-libp2p-interfaces | plugin | 10 |
| libp2p/go-libp2p-http | plugin | 36 |
| libp2p/go-libp2p-nat | plugin | 10 |
| libp2p/go-libp2p-discovery | plugin | 10 |
| libp2p/go-libp2p-autonat | plugin | 10 |
| libp2p/js-libp2p-mplex | plugin | 10 |
| libp2p/js-libp2p-mdns | plugin | 10 |
For agents
Data as of 2026-10-19T08:05:51.212177+00:00 · Report a problem