Adding a file-sharing feature to libp2p universal connectivity, so that developers can know what they can do with libp2p these days in various environments.
Currently, libp2p universal connectivity shows that libp2p can be used in various environments (including web-browser) with many programming languages. But, it provides only one feature: sending/receiving messages. Adding to this, I would like to introduce an extended feature: File-sharing, so that developers who are going to use libp2p can understand how they can implement file-sharing functionalities in their application using libp2p without IPFS or any other file sharing infrastructure.
I will work on the existing libp2p universal connectivity repository. I have already created a GitHub issue and discussed with the libp2p team about this topic: https://github.com/libp2p/universal-connectivity/issues/69. There is a request-response protocol in rust-libp2p which can be used to send files between libp2p nodes. I can implement this protocol for go-libp2p and js-libp2p. After that, I am going to use that protocol to implement the file-sharing in libp2p universal connectivity. I can extend the existing web UI of universal connectivity, so that users can select their files to share and send them to others who are subscribing libp2p messages. The challenge would be making the protocol works both in servers and web browsers.