Build a decentralized application where users connect directly to each other without a central server
Add peer discovery and encrypted connections to a blockchain node or distributed storage system
Implement a peer-to-peer messaging protocol using modular networking components without reinventing low-level infrastructure
Run a Go node that connects to the IPFS or Ethereum network using the same underlying library those projects use
Pure Go import with no system dependencies, but peer-to-peer networking concepts have a steep learning curve.
libp2p is a networking toolkit for building peer-to-peer applications, where computers talk directly to each other rather than routing everything through a central server. This repository is the Go language implementation of that toolkit. It grew out of IPFS, a decentralized file storage project, but was separated into its own library so other projects could use it independently. The core idea is that peer-to-peer software has historically required developers to rebuild the same low-level networking infrastructure from scratch for every project: how to find other computers on the network, how to establish a secure connection, how to send messages reliably. libp2p provides those building blocks as a modular set of components, so developers can pick the pieces they need without having to rewrite them. Projects using this library span several areas of decentralized infrastructure. Listed notable users include Kubo (the main Go implementation of IPFS), Lotus (a Filecoin protocol implementation), Prysm (an Ethereum consensus client), and various other blockchain and messaging systems. This gives a sense of the kind of applications it targets: distributed storage networks, blockchains, and applications that need to work without a central service coordinating connections. Using it in a Go project means adding an import and calling a constructor to create a libp2p host, which is then the entry point for establishing connections and running protocols on top of them. Examples are available in the repository's examples folder. The project is maintained by Protocol Labs and is MIT-licensed. It follows a contribution process through GitHub issues and pull requests, and maintainers ask that any use of AI assistance be disclosed when submitting a pull request.
← libp2p on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.