vac:p2p:ift:2025q2-nimlibp2p-universal-connectivity-app
Realtime highly decentralised chat app.
Description
Create an example chat application that demonstrates libp2p features using gossipsub for messaging, and WSS, Quic, and TCP transports. This app should be published at the libp2p/universal-connectivity repository. A future commitment might add support of Kad-DHT to discover nodes, and additional transports like WebTransport/WebRTC/WebRTC-direct as transports (once they’re available in nim-libp2p).
Task List
Chat
- fully qualified name:
vac:p2p:ift:2025q2-nimlibp2p-universal-connectivity-app:chat
- owner: gabe
- status:
- start-date:
- end-date:
Description
Using either directchat.nim or chat2, implement a chat application that can interop successfully with other implementations available at libp2p/universal-connectivity.
Deliverables
- Minimal TUI (send/receive messages, join chatrooms)
- Connect directly to peers by specifying the peers multiaddresses
- NAT support (upnp/pmp) (logic can be extracted from nwaku
wakunode2
.) - Interop
File Exchange
- fully qualified name:
vac:p2p:ift:2025q2-nimlibp2p-universal-connectivity-app:file-exchange
- owner: gabe
- status:
- start-date:
- end-date:
Description
Allow sending/receiving files. Must react to messages sent of the file exchange topic.
Deliverables
- Basic UI - Receive file message
- Allow sending file (maybe with a chat command
/file path/to/file
) - Interop