Implementations.

libp2p is composed of many modules and different parts. Here you can see an overview over all the different libraries we develop, along with the status of the implementation.

cube_shape
Transports
Interface
Browser JS Node.js Go
libp2p-tcp
libp2p-quic
libp2p-websockets
libp2p-webrtc-star
libp2p-webrtc-direct
libp2p-udp
libp2p-utp
Done
In Progress / Usable
Prototype / Unstable
Missing
Stream muxers
Interface
Browser JS Node.js Go
libp2p-spdy
libp2p-multiplex
libp2p-yamux
Done
In Progress / Usable
Prototype / Unstable
Missing
Crypto channels
Browser JS Node.js Go
libp2p-secio
Done
In Progress / Usable
Prototype / Unstable
Missing
Connection & Connection Upgrades
Browser JS Node.js Go
libp2p-conn
half-closed-connection-upgrade
Done
In Progress / Usable
Prototype / Unstable
Missing
Peer routing
Interface
Browser JS Node.js Go
libp2p-kad-dht
Done
In Progress / Usable
Prototype / Unstable
Missing
Record stores
Interface
Browser JS Node.js Go C#
record
Done
In Progress / Usable
Prototype / Unstable
Missing
NAT Traversal
Browser JS Node.js Go
libp2p-nat
Done
In Progress / Usable
Prototype / Unstable
Missing
Discovery
Interface
Browser JS Node.js Go
bootstrap
random-walk
mdns-discovery
Done
In Progress / Usable
Prototype / Unstable
Missing
General Purpose Utils & Datatypes
Browser JS Node.js Go
crypto
libp2p-ping
libp2p-peer-id
libp2p-peer-info
libp2p-peer-book
libp2p-swarm
Done
In Progress / Usable
Prototype / Unstable
Missing
Others
Browser JS Node.js Go
libp2p-floodsub
Done
In Progress / Usable
Prototype / Unstable
Missing