docs: README
This commit is contained in:
commit
db23fd1468
|
@ -0,0 +1,45 @@
|
|||
# 🍐
|
||||
|
||||
> Experiments in libp2p connectivity
|
||||
|
||||
[`libp2p`](https://libp2p.io/) 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](https://github.com/berty/go-libp2p-tor-transport) (optional).
|
||||
* Use of public IPFS relay & DHT (optonal).
|
||||
|
||||
## Context
|
||||
|
||||
I am exploring network architectures that resemble the
|
||||
[Scuttleverse](https://www.scuttlebutt.nz/). Peers are typically already
|
||||
offline friends and have some out-of-band method for sharing connection details
|
||||
(e.g. a [Cabal](https://cabal.chat) 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](https://docs.libp2p.io/concepts/secure-comm/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`](https://cwtch.im/), I want to make
|
||||
use of overlay networks (Tor, I2P).
|
||||
|
||||
## Links
|
||||
|
||||
Big shout-out to the writers of this [wonderful
|
||||
tutorial](https://curriculum.pl-launchpad.io/curriculum/libp2p/objectives/).
|
Loading…
Reference in New Issue