Experiments in libp2p connectivity
Go to file
decentral1se 9bff826521
wip: hacking some hello world magic
2023-05-31 01:07:49 +02:00
LICENSE wip: hacking some hello world magic 2023-05-31 01:07:49 +02:00
README.md docs: README 2023-05-30 22:03:23 +02:00
go.mod wip: hacking some hello world magic 2023-05-31 01:07:49 +02:00
go.sum wip: hacking some hello world magic 2023-05-31 01:07:49 +02:00
pear.go wip: hacking some hello world magic 2023-05-31 01:07:49 +02:00

README.md

🍐

Experiments in libp2p connectivity

libp2p Go binaries for testing p2p connectivity in the following scenarios:

  • Public IPv4 to public IPv4.
  • Public to private (behind NAT) and viceversa.
  • Private to private (behind NAT, using relaying and holepunching).
  • Use of the Tor transport (optional).
  • Use of public IPFS relay & DHT (optonal).

Context

I am exploring network architectures that resemble the Scuttleverse. Peers are typically already offline friends and have some out-of-band method for sharing connection details (e.g. a Cabal chat).

To facilitate holepunching while avoiding public IPFS relays or DHT, I want to use a self-hosted relay. No standard bootstrapping nodes should be required, everything is "in house" (like a "pub" or room in SSB).

I make use of Noise for encryption because we control the peer implementation on both sides (guaranteed to be available).

Sometimes, it might be handy to make use of public IPFS relays or DHT, so I want to support this as an optional approach. The important point is that this will not be the default.

Local-first connections should also work reliably.

Since libp2p was built within the context of a global connectivity mindset, I am exploring how local-first and "private" p2p connectivity works between a small group of friends.

Following the inspiration of cwtch.im, I want to make use of overlay networks (Tor, I2P).

Big shout-out to the writers of this wonderful tutorial.