─── ecosystem · libp2p
libp2p
repositories
233
contributors
1,032
languages
13
top lang
Go
repo wow
+0
contrib wow
+48
star wow
+14
weeks avail
5
─── weekly trend · 5w
repositories
114
contributors
1,032
stars
24,558
─── top gaining repos
+0 contributors · Rust
+0 contributors · TypeScript
+0 contributors · Rust
+0 contributors
─── top languages · by repos
─── repositories
100 / 233| # | repository | lang | stars | forks |
|---|---|---|---|---|
| 001 | libp2p/go-libp2p libp2p implementation in Go | Go | 6,807 | 1,267 |
| 002 | libp2p/rust-libp2p The Rust Implementation of the libp2p networking stack. | Rust | 5,531 | 1,219 |
| 003 | libp2p/libp2p A modular and extensible networking stack which solves many challenges of peer-to-peer applications. | — | 3,058 | 294 |
| 004 | libp2p/specs Technical specifications for the libp2p networking stack | — | 1,767 | 311 |
| 005 | libp2p/go-reuseport reuse tcp/udp ports in golang | Go | 800 | 112 |
| 006 | libp2p/py-libp2p The Python implementation of the libp2p networking stack 🐍 [under development] | Python | 614 | 238 |
| 007 | libp2p/go-libp2p-kad-dht A Kademlia DHT implementation on go-libp2p | Go | 592 | 259 |
| 008 | libp2p/cpp-libp2p C++17 implementation of libp2p | C++ | 480 | 126 |
| 009 | libp2p/go-libp2p-examples Example libp2p applications | — | 336 | 137 |
| 010 | libp2p/js-libp2p-webrtc-star libp2p WebRTC transport that includes a discovery mechanism provided by the signalling-star | TypeScript | 314 | 91 |
| 011 | libp2p/rust-yamux Multiplexer over reliable, ordered connections. | Rust | 239 | 56 |
| 012 | libp2p/universal-connectivity Realtime decentralised chat with libp2p showing ubiquitous peer-to-peer connectivity between multiple programming languages (Go, Rust, TypeScript) and runtimes (Web, native binary) using QUIC, WebRTC and WebTransport | TypeScript | 160 | 70 |
| 013 | libp2p/go-libp2p-core Interfaces and abstractions that make up go-libp2p | Go | 144 | 77 |
| 014 | libp2p/go-libp2p-quic-transport An implementation of a libp2p transport using QUIC | Go | 114 | 41 |
| 015 | libp2p/go-libp2p-swarm The libp2p swarm manages groups of connections to peers, and handles incoming and outgoing streams | Go | 112 | 36 |
| 016 | libp2p/js-libp2p-examples Examples for the JS implementation of libp2p | — | 103 | 61 |
| 017 | libp2p/go-libp2p-daemon a libp2p-backed daemon wrapping the functionalities of go-libp2p for use in other languages | Go | 94 | 38 |
| 018 | libp2p/go-libp2p-peerstore an object to manage sets of peers, their addresses and other metadata | Go | 89 | 27 |
| 019 | libp2p/hydra-booster A DHT Indexer node & Peer Router | Go | 89 | 5 |
| 020 | libp2p/go-libp2p-webrtc-direct A libp2p transport that enables browser-to-server, and server-to-server, direct communication over WebRTC without requiring signalling servers | Go | 82 | 17 |
| 021 | libp2p/js-peer-id peer-id implementation in JavaScript. Deprecated; use https://github.com/libp2p/js-libp2p-peer-id instead. | JavaScript | 81 | 43 |
| 022 | libp2p/go-buffer-pool | Go | 80 | 17 |
| 023 | libp2p/js-libp2p-crypto The libp2p crypto primitives, for Node.js and the Browser! | TypeScript | 79 | 49 |
| 024 | libp2p/js-libp2p-webrtc-direct Dial using WebRTC without the need to set up any Signalling Rendezvous Point! | TypeScript | 76 | 18 |
| 025 | libp2p/js-libp2p-interfaces Contains test suites and interfaces you can use to implement the various components of js libp2p. | TypeScript | 74 | 25 |
| 026 | libp2p/research-pubsub Research on PubSub algorithms for libp2p | — | 74 | 5 |
| 027 | libp2p/docs Documentation site for the libp2p project. | HTML | 71 | 97 |
| 028 | libp2p/go-libp2p-raft A LibP2P wrapper for hashicorp/raft implementation. | Go | 71 | 19 |
| 029 | libp2p/go-libp2p-http HTTP on top of libp2p | Go | 68 | 21 |
| 030 | libp2p/go-libp2p-gorpc A simple RPC library for libp2p. | Go | 66 | 15 |
| 031 | libp2p/test-plans Interoperability tests for libp2p | Python | 66 | 78 |
| 032 | libp2p/go-libp2p-nat NAT port mapping library for go-libp2p | Go | 63 | 15 |
| 033 | libp2p/go-netroute Routing table abstraction library | Go | 63 | 26 |
| 034 | libp2p/go-ws-transport a websocket implementation of a go-libp2p transport | Go | 60 | 17 |
| 035 | libp2p/go-tcp-transport An implementation of a libp2p transport using tcp | Go | 59 | 28 |
| 036 | libp2p/go-libp2p-discovery Active Peer Discovery | Go | 53 | 10 |
| 037 | libp2p/go-libp2p-autonat DEPRECATED: NAT Autodiscovery | Go | 52 | 10 |
| 038 | libp2p/js-libp2p-mplex JavaScript implementation of https://github.com/libp2p/mplex | TypeScript | 51 | 26 |
| 039 | libp2p/punchr 🥊 Components to measure Direct Connection Upgrade through Relay (DCUtR) performance. | Jupyter Notebook | 51 | 11 |
| 040 | libp2p/go-libp2p-kbucket A kbucket implementation for use as a routing table | Go | 50 | 37 |
| 041 | libp2p/js-libp2p-floodsub Also known as pubsub-flood or just dumbsub, this implementation of pubsub focused on delivering an API for Publish/Subscribe, but with no CastTree Forming (it just floods the network). | TypeScript | 47 | 15 |
| 042 | libp2p/js-libp2p-switch [DEPRECATED]: now part of the https://github.com/libp2p/js-libp2p repo | JavaScript | 47 | 36 |
| 043 | libp2p/go-libp2p-circuit Circuit Switching for libp2p | Go | 46 | 13 |
| 044 | libp2p/go-libp2p-secio a minimal secure channel for libp2p | Go | 45 | 21 |
| 045 | libp2p/go-libp2p-crypto [DEPRECATED] Various cryptographic utilities used by libp2p; use https://github.com/libp2p/go-libp2p-core/ instead. | Go | 41 | 27 |
| 046 | libp2p/if-watch Cross platform asynchronous network watcher | Rust | 41 | 29 |
| 047 | libp2p/devgrants want to hack on libp2p? this repo tracks libp2p endeavors eligible for incentivization. | — | 40 | 2 |
| 048 | libp2p/go-libp2p-peer [DEPRECATED] PKI based identities for use in go-libp2p; use https://github.com/libp2p/go-libp2p-core/ instead. | Go | 40 | 13 |
| 049 | libp2p/website Webpage of the libp2p project. A multi protocol approach for a interoperable network stack that follows the 'self description' in favor of assumptions | Less | 40 | 36 |
| 050 | libp2p/js-libp2p-websocket-star libp2p-webrtc-star without webrtc. Just plain socket.io. | JavaScript | 39 | 12 |
| 051 | libp2p/js-libp2p-webrtc | TypeScript | 38 | 15 |
| 052 | libp2p/notes libp2p Collaborative Notebook for Research | — | 38 | 2 |
| 053 | libp2p/go-mplex A port of maxogden's multiplex to go | Go | 37 | 19 |
| 054 | libp2p/go-yamux | Go | 37 | 32 |
| 055 | libp2p/js-peer-info libp2p Peer abstraction Node.js implementation | JavaScript | 37 | 25 |
| 056 | libp2p/interface-transport ⛔️ DEPRECATED: interface-transport is now included in https://github.com/libp2p/js-interfaces | JavaScript | 35 | 12 |
| 057 | libp2p/repl [toy project 🎈] a libp2p interactive shell | Go | 35 | 6 |
| 058 | libp2p/xtp XTP - eXternal Transports Protocol | — | 35 | 1 |
| 059 | libp2p/go-libp2p-noise a secure channel for go-libp2p based on the Noise protocol framework | Go | 33 | 11 |
| 060 | libp2p/go-stream-muxer [DEPRECATED] stream multiplexer interface; use https://github.com/libp2p/go-libp2p-core/ instead. | Go | 33 | 5 |
| 061 | libp2p/go-libp2p-net [DEPRECATED] Network interfaces for go-libp2p; use https://github.com/libp2p/go-libp2p-core/ instead. | Go | 32 | 11 |
| 062 | libp2p/go-libp2p-transport [DEPRECATED] libp2p transport code; moved to https://github.com/libp2p/go-libp2p-core/ and https://github.com/libp2p/go-libp2p-testing/ | Go | 30 | 5 |
| 063 | libp2p/js-libp2p-secio libp2p SECIO | JavaScript | 30 | 19 |
| 064 | libp2p/interface-stream-muxer ⛔️ DEPRECATED: interface-stream-muxer is now included in https://github.com/libp2p/js-interfaces | JavaScript | 29 | 5 |
| 065 | libp2p/go-libp2p-relay-daemon [DEPRECATED] A standalone libp2p circuit relay daemon that made 2022 migration from V1 to V2 easier. | Go | 28 | 28 |
| 066 | libp2p/go-libp2p-record signed records for use with routing systems | Go | 26 | 13 |
| 067 | libp2p/go-libp2p-gostream Go "net" wrappers for libp2p | Go | 25 | 15 |
| 068 | libp2p/zeroconf mDNS / DNS-SD Service Discovery in pure Go (also known as Bonjour) | Go | 25 | 21 |
| 069 | libp2p/go-libp2p-routing [DEPRECATED] a collection of routing interfaces for go-libp2p; use https://github.com/libp2p/go-libp2p-core/ instead. | Go | 24 | 5 |
| 070 | libp2p/go-libp2p-pubsub-router | Go | 23 | 10 |
| 071 | libp2p/go-libp2p-consensus A consensus interface for LibP2P | Go | 22 | 1 |
| 072 | libp2p/testlab A testlab built with Nomad and Consul to analyze the behavior of p2p networks at scale | Go | 22 | 6 |
| 073 | libp2p/go-libp2p-connmgr a resource sentinel that keeps connection count under reasonable bounds | Go | 21 | 15 |
| 074 | libp2p/research-dht Moved discussion notes to https://github.com/libp2p/notes | — | 21 | 3 |
| 075 | libp2p/demo-multi-lang Simple libp2p demos implemented in Go, JS and Rust | Go | 20 | 10 |
| 076 | libp2p/go-nat NAT port mapping library for Go | Go | 20 | 13 |
| 077 | libp2p/interop Interoperability tests for libp2p Implementations | TypeScript | 20 | 7 |
| 078 | libp2p/workspace-go-libp2p workspace for go-libp2p contributors | Shell | 20 | 8 |
| 079 | libp2p/cs-libp2p-peer LibP2P Peer | C# | 19 | 5 |
| 080 | libp2p/go-libp2p-host [DEPRECATED] The host interface for go-libp2p; use https://github.com/libp2p/go-libp2p-core/ instead. | Go | 19 | 7 |
| 081 | libp2p/go-sockaddr DEPRECATED - Go Sockaddr -> RawSockaddr conversions | Go | 19 | 12 |
| 082 | libp2p/js-libp2p-pubsub Pubsub base protocol for libp2p pubsub routers | TypeScript | 19 | 15 |
| 083 | libp2p/interface-connection ⛔️ DEPRECATED: interface-connection is now included in https://github.com/libp2p/js-interfaces | JavaScript | 18 | 6 |
| 084 | libp2p/go-libp2p-transport-upgrader | Go | 17 | 6 |
| 085 | libp2p/go-msgio simple package to r/w length-delimited slices. | Go | 17 | 12 |
| 086 | libp2p/js-libp2p-daemon A js-libp2p backed daemon | TypeScript | 17 | 11 |
| 087 | libp2p/go-cidranger Fast IP to CIDR lookup in Golang | Go | 16 | 5 |
| 088 | libp2p/go-libp2p-coral-dht golang implementation of the CoralDHT protocol | Go | 16 | 3 |
| 089 | libp2p/go-libp2p-tls go-libp2p's TLS encrypted transport | Go | 16 | 16 |
| 090 | libp2p/js-libp2p-pubsub-peer-discovery A js-libp2p module that uses pubsub for mdns like peer discovery | TypeScript | 16 | 6 |
| 091 | libp2p/js-peer-book [DEPRECATED]: peer-book is now at https://github.com/libp2p/js-libp2p/tree/master/src/peer-store as PeerStore | JavaScript | 16 | 14 |
| 092 | libp2p/go-eventbus a simple and fast eventbus for type-based local event delivery. | Go | 15 | 7 |
| 093 | libp2p/go-openssl UNMAINTAINED - OpenSSL bindings for Go | Go | 15 | 20 |
| 094 | libp2p/js-libp2p-delegated-peer-routing Leverage other peers in the network to perform Peer Routing calls. | TypeScript | 15 | 8 |
| 095 | libp2p/interface-peer-discovery ⛔️ DEPRECATED: interface-peer-discovery is now included in https://github.com/libp2p/js-interfaces | JavaScript | 14 | 6 |
| 096 | libp2p/js-libp2p-delegated-content-routing Leverage other peers in the network to perform Content Routing calls. | TypeScript | 14 | 8 |
| 097 | libp2p/team-mgmt Planning and project management for the libp2p Project | — | 14 | 5 |
| 098 | libp2p/gossipsub-hardening testground plans for evaluating gossipsub under attack scenarios | Python | 13 | 5 |
| 099 | libp2p/js-libp2p-rendezvous A javascript implementation of the rendezvous protocol for libp2p | JavaScript | 13 | 3 |
| 100 | libp2p/js-libp2p-utp uTP module libp2p uses. Implements the interface-transport spec | JavaScript | 13 | 6 |
Want deeper analysis?
Commission a benchmark report for libp2p.
─── subscriber view
Unlock the full view of the libp2p ecosystem
- · Full repository, commit, and contributor breakdown
- · Peer graph + ecosystem links
- · Weekly trend deltas and pulse signal
- · API + CSV / JSON exports
Already a subscriber? Sign in with the same email used at checkout.