Does anyone have experience creating a P2P (i.e. mesh) network? I've been writing some software which I'd like to port from a strictly local client to being able to connect in to a topology similar to the BTC network.
Just looking for opinions / libraries / thoughts
Hmmm, I've never done p2p stuff before. The only networking I do is web development, and that's where you have a centralized server and there's a clear difference between the client and server. Maybe there's stuff out there for p2p. I know there's distributed hash tables, like for torrents and stuff.
Or perhaps you could use existing web technology but make it where every person running the software is both a client and a server at the same time. Maybe with an API. Or maybe that's a bad idea. Like I said, I've never done p2p stuff before.
Of course, in that kind of environment, there couldn't be any trust in the code, so you'd have to validate stuff from other clients in the same network, as some users could be malicious. Like if you use an API (REST or GraphQL), you could do schema validation. Sanitize, validate, etc.
I'm thinking from a web and microservices perspective though.