libp2p WebRTC over QR
Two browsers connect directly as libp2p peers — no relay, no signaling server. The WebRTC offer and answer travel out-of-band as signed QR codes: one device scans the code off the other screen.
1 Start browser peer
Creates a libp2p node with a fresh key pair. Its Peer ID signs every payload you show.
Your peer identity
This is not what you send to anyone - it is the key your invite links are signed with.
not started2 Connect to someone
Two ways in, and they end up in the same place: send an invite link, or scan a code. You only ever do one of the two boxes below - whichever matches what you have.
I want to invite someone
They can also point a phone camera at this code - it opens the same link.
Someone sent me a link
Opening their link does everything by itself. Only paste here if tapping the link did not work.
3 Send data over libp2p
Once the handshake completes, messages travel over a libp2p protocol stream on the WebRTC data channel. Files go through Helia: the sender adds the bytes and announces the CID, the receiver pulls them with bitswap over the same connection.