Files
universal-connectivity/README.md
2023-04-04 17:39:38 +02:00

2.0 KiB
Raw Blame History

Universal Connectivity

Realtime highly decentralised chat app.

libp2p topology

Showcasing libp2p's superpowers in establishing ubiquitous peer-to-peer connectivity in modern programming languages (Go, Rust, TypeScript) and runtimes (Web, native binary).

On top of this strong foundation, it layers a GossipSub: A Secure PubSub Protocol for Unstructured Decentralised P2P Overlays. By analogy, an event broker with distributed brokering, or a distributed PubSub protocol.

This is the gossip event protocol that powers Filecoin and Post-Merge Ethereum.

Some of the cool and cutting-edge transport protocols used by this app are:

  • WebTransport
  • WebRTC
  • QUIC
  • TCP

Packages

Packge Description WebTransport WebRTC QUIC TCP
frontend Next.js based browser UI of the chat app
go-peer Chat peer implemented in Go
rust-peer Chat peer implemented in Rust
node Chat peer implemented with TypeScript in node.js

- Protocol supported - Protocol not supported

  • Uses the GossipSub PubSub protocol for decentralised messaging

Connecting to a peer

Getting started frontend and node

The project uses npm workspaces.

1. Install dependencies

Run npm install from the root of the repo:

npm i

2. Start dev server

Enter the frontend folder, start the dev server

cd packages/frontend
npm run dev