I'm interested in building p2p applications. I've checked into IPFS, GNUnet, Freenet, libp2p, and a few more. My main tools are Rust and Python. I haven't found anything (I could be reading things wrong of course) that I can directly build GUI applications on top of, with great documentation, and minimal head banging. Does anyone have experience building p2p apps? Can you recommend/suggest a route to take? Definitely don't want to have to implement my own thing. Thanks |
For a simple web based GUI app you can use the js version of IPFS or interact with a locally running go-IPFS node using a pretty simple REST api.
Once you got your feet wet, or if you have a more demanding use case, you can use libp2p directly, from js, go or rust.
Since you mentioned rust: https://github.com/libp2p/rust-libp2p
libp2p could be described as an attempt to implement a common networking stack for the distributed web. IPFS builds on libp2p, as does filecoin.
I work for a company https://www.actyx.io/en that does industrial applications based on IPFS / libp2p, so I use IPFS every day. Obviously it is bleeding edge technology with a lot of rough edges. But I find the current state and the rate of improvement quite promising.