Skip to content

Latest commit

 

History

History
32 lines (24 loc) · 1.29 KB

README.md

File metadata and controls

32 lines (24 loc) · 1.29 KB

Local Peer-to-Peer API playground

This repo contains experiments to help inform the design of the Local Peer-to-Peer API proposal. Do not use any of this code yet, it not final, tested nor secure.

Examples

Check out the examples or run them on Replit:

Run on Replit

Open points

  • LP2P API
    • Initial implementation & example.
    • User agent PSK present & consume
    • DataChannel API & examples
    • WebTransport API & examples
    • User agent peer listing & selection
  • OSP(C)
    • discovery, listen & dial
    • data-channel protocol extension
    • WebTransport Protocol interaction
      • Over OSP connection
      • Over dedicated QUIC connection
    • implement actual PAKE algorithm
  • Various
    • Abstract LP2P API from underlying transport (to allow others like Wi-Fi Direct)
    • Lots of cleanup

Coding conventions

The lp2p package augments a web API and favors similarity to the web API over idiomatic Go. Note that async functions are implemented as blocking. The other packages such as ospc should be idiomatic Go.