P2P wireless mesh network using libp2p?

Hi all, I’m new to libp2p and excited about this project. Question… has anyone built a wireless p2p network that can span say a neighborhood or small town? I was thinking of working on a community network project for communication and info sharing which is not dependent on an ISP to function.

Libp2p isn’t well suited for layer 2 kind of stuff, it’s more a layer 3~4 protocol (depending of how you count).

Libp2p’s “meshing” circuit, is quite dumb and would be incapable to handle a meshed network.
At best, with luck you could talk to the neighbors of your neighbors and your neighbors.
In reality, you could only talk the your neighbors reliably.

However if you really want to run libp2p meshed, just run it on a distributed meshed layer 2 like :

I’ve tested cjdns before and this worked perfectly (except some minor issues of cjdns such as the horizon bug, …), I’m confident yggdrasil would work fine too (maybe even better as there should not be any horizon bug).

1 Like

This is super helpful, thanks for the detailed info! I will check out those two projects for sure.

Also take a look at B.A.T.M.A.N. and its successors! Unlike the others
mentioned here they are used in real Freifunk networks today.

It still needs a routing layer for reaching nodes outside of the wireless
network’s vicinity, but nodes within can reach each other using link-local
networking only.

Smaller and older networks (like the one in my neighbourhood) often use OLSR
instead which requires some central management for address assignment and
scales poorly (since every node needs to hold a map of the entire network),
but apparently it works quite well for small (<500 nodes?) networks.

1 Like