Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/libp2p/libp2p

A modular and extensible networking stack which solves many challenges of peer-to-peer applications.
https://github.com/libp2p/libp2p

Last synced: about 1 month ago
JSON representation

A modular and extensible networking stack which solves many challenges of peer-to-peer applications.

Awesome Lists containing this project

README

        



















**lib**p2p is a modular networking framework bundled together as a full stack of protocols for peer-to-peer systems. It is the product of a long and arduous quest into the internet's network stack and all of the plentiful peer-to-peer protocols of the past. Building large-scale peer-to-peer systems has been complex and challenging in the last twenty years and **lib**p2p is a way to fix that. It is a "network stack"—a protocol suite—that cleanly separates concerns and enables sophisticated applications to use only the protocols they need without giving up interoperability and upgradeability. **lib**p2p grew out of [**IPFS**](https://ipfs.tech/) into an independent project designed to give any project *state-of-the-art* peer-to-peer capabilities.

Learn more about **lib**p2p at [**libp2p.io**](//libp2p.io) and [**docs.libp2p.io**](//docs.libp2p.io).

## Specifications

View the formal specifications of **lib**p2p on the [**specifications repository**](//github.com/libp2p/specs).

## Implementations

Follow the latest **lib**p2p implementations at
[**libp2p.io/implementations**](//libp2p.io/implementations/).

- [**go-libp2p**](//github.com/libp2p/go-libp2p)
- [**js-libp2p**](//github.com/libp2p/js-libp2p) for Node.js and the Browser
- [**rust-libp2p**](//github.com/libp2p/rust-libp2p) supports Wasm as well
- [**py-libp2p**](//github.com/libp2p/py-libp2p)
- [**cpp-libp2p**](//github.com/soramitsu/libp2p)
- [**swift-libp2p**](//github.com/swift-libp2p/swift-libp2p)
- [**nim-libp2p**](//github.com/status-im/nim-libp2p)
- [**jvm-libp2p**](//github.com/libp2p/jvm-libp2p) for Kotlin as well
- [**zig-libp2p**](//github.com/marcopolo/zig-libp2p)
- [**dotnet-libp2p**](//github.com/NethermindEth/dotnet-libp2p)

### Dormant Implementation Projects

The following are implementation projects that have fallen dormant and we would love to help volunteers revive them. If you're interested, please reach out on any of our forums or chat rooms and we can help you start where the previous maintainers left off.

- [**erlang-libp2p**](//github.com/helium/erlang-libp2p) in Erlang

## Community

### Announcements

For all **lib**p2p community announcements look for posts under the [**"News" topic in the community-wide forums**](//discuss.libp2p.io/c/news/8) or tagged as an announcement in the technical discussion forums and chat channels listed below.

### Blog

The **lib**p2p community blog can be read at [**blog.libp2p.io**](//blog.libp2p.io). If you would like to write a blog post about your cool project that uses **lib**p2p, you can either post a message in [**this project's discussion forum**](//github.com/libp2p/libp2p/discussions) or you may post a message in our community-wide discussion forums at [**discuss.libp2p.io**](//discuss.libp2p.io). If you tag either @p-shahi or @dhuseby in your post we'll get back to you ASAP about your post.

### Calendar

If you're a **lib**p2p implementer, consumer, or user you are welcome to join the community meetings we host regularly. Stay up to date by following the **lib**p2p [**community calendar on Lu.ma**](//lu.ma/libp2p) (add it to your calendar with this [**iCal feed**](//api.lu.ma/ics/get?entity=calendar&id=cal-7CPAnJtz4A4aj2X)).

### Discussion

Please visit our community-wide discussion forums at [**discuss.libp2p.io**](//discuss.libp2p.io) to discussion community events such as hackathons and conferences and to ask questions about the past, present, and future of **lib**p2p, and more.

If you are looking for technical help about a specific **lib**p2p implementation, you may ask in the discussion forums on each of the implementation's Github Discusssions Forum. Here's the list of links to their technical discussion forums for each implementation listed above:

- [**go-libp2p Tech Discussions**](//github.com/libp2p/go-libp2p/discussions)
- [**js-libp2p Tech Discussions**](//github.com/libp2p/js-libp2p/discussions)
- [**rust-libp2p Tech Discussions**](//github.com/libp2p/rust-libp2p/discussions)
- [**py-libp2p Tech Discussions**](//github.com/libp2p/py-libp2p/discussions)
- [**cpp-libp2p Tech Discussions**](//github.com/soramitsu/libp2p/discussions)
- [**swift-libp2p Tech Discussions**](//github.com/swift-libp2p/swift-libp2p/discussions)
- [**nim-libp2p Fourm**](//forum.vac.dev/)
- [**jvm-libp2p Tech Discussions**](//github.com/libp2p/jvm-libp2p/discussions)
- zig-libp2p, no technical forum yet
- [**dotnet-libp2p Tech Discussions**](//github.com/NethermindEth/dotnet-libp2p/discussions)

### Chat

- **lib**p2p on Filecoin Slack
- [**#libp2p-community**](//filecoinproject.slack.com/archives/C06HV0D00E5)
- [**#libp2p-implementers**](//filecoinproject.slack.com/archives/C03K82MU486)
- [**#libp2p-docs**](//filecoinproject.slack.com/archives/C04F9TM46CB)
- [**#project-universal-connectivity**](//filecoinproject.slack.com/archives/C04UFPHSM7S)
- **lib**p2p on Discord
- [**#announcements**](//discord.gg/FSEcZdnP)
- [**#community**](//discord.gg/9R7uhF5D)
- [**#implementers**](//discord.gg/2FPVa6Xy)
- [**lib**p2p on Telegram](//t.me/libp2p_community)
- [**#announcements**](//t.me/libp2p_community/1)
- [**#community**](//t.me/libp2p_community/11)
- [**#implementers**](//t.me/libp2p_community/5)
- [**.NET libp2p**](//t.me/dotnet_libp2p)
- **lib**p2p on Matrix
- [**libp2p-community**](//matrix.to/#/#libp2p-community:matrix.org)
- [**libp2p-implementers**](//matrix.to/#/#libp2p-implementers:ipfs.io)
- [**nim-libp2p Discord**](//discord.com/invite/PQFdubGt6d)

### Events

Throughout the year, the **lib**p2p community participates in a number of hackathons and we send speakers to community conferences such as EthGlobal all around the world. If you are interested in participating, keep an eye on the [**community calendar**](//lu.ma/libp2p) and announcements to learn about when and how you can get involved.