- Full-clients vs Light clients
- important 2 major classes of nodes/peers in the network that behave differently.
- full clients are going to be long-running nodes, that will also satisfy various compute requests
light-clients are going to be short lived nodes (users running GF nodes on their laptops for a few hours eveyry week) when the only for example want to view files/images and consume content (not satisfy compute requests).
- look into the libp2p JS/browser impelementation to see if light-clients/peers can be run in a browser tab by certain users.
potentially have storage-clients
- clients/nodes that only store data/images, and cant do (or dont want to/dont advertise to be able to) conduct other operations (apply image filters/apply more comple image pipilens/apply ML piplines, etc)
might have ML-clients
- clients that can execute (or are willing) ML pipilines.
build in this capability-level announcement process into the peer boostraping stage
- when the peer first joins the network it announces which types of operations it is willing to satisfy/accept.
some users of the GF network are not even peers
- they are purely users that connect to some peer that serves the GF or any other UI from that server
- those users (JS code in the browser) might only interact with the GF REST API, which then in turn would via the peer interface interact with the GF network.