2023-04-04 17:39:38 +02:00
2023-04-04 10:22:35 +02:00
2023-04-03 22:18:29 -05:00
2023-04-04 17:39:38 +02:00
2023-03-16 11:53:12 +01:00
2023-04-04 17:39:38 +02:00

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
Description
No description provided
Readme 18 MiB
Languages
TypeScript 57.1%
Rust 28.9%
Go 7.4%
Nim 5.9%
Dockerfile 0.6%
Other 0.1%