Skip to main content
21.1k

A modular p2p network stack

Run your network applications free from runtime and address services, independently of their location.

Latest Updates

Merged PR: Fix Redundant EventLoopGroup Handling
The swift-libp2p implementation now has redundant EventLoopGroup handling removed, improving performance. This was implemented in PR #44.
New Transport Layer Support Added to rust-libp2p
The rust-libp2p implementation now supports WebTransport connections, enabling better browser compatibility. This was implemented in PR #788 and follows the spec discussion in this issue.
Merged PR: Add js-libp2p Echo Protocol Interoperability Tests
The libp2p/test-plans repository now includes interoperability tests for the js-libp2p implementation. This was implemented in PR #800.
Merged PR: Fix Temporary Logging in swift-libp2p
The swift-libp2p implementation now has temporary logging removed, improving performance. This was implemented in PR #43.

Why libp2p?

libp2p is a modular system of protocols, specifications and libraries for the development of global-scale peer-to-peer applications.

Multiple Transports

TCP, QUIC, WebSocket, WebRTC, and WebTransport. Use what works best for your environment.

Native Roaming

Move between networks and addresses seamlessly. Your connections follow you.

Runtime Freedom

Run in browsers, mobile devices, or servers. No runtime restrictions.

Protocol Muxing

Multiplex multiple protocols over a single connection with automatic negotiation.

Encrypted Connections

All connections are encrypted by default with Noise or TLS 1.3.

NAT Traversal

Built-in hole punching, AutoNAT, and relay support to connect peers behind NATs.

Upcoming Events

Join our community meetings and events. Everyone is welcome!

Ready to build?

Check out our guides and tutorials to get started with libp2p.