Sto lavorando alla mia prima app P2P utilizzando core C # e gRPC e trovo difficile comprendere i concetti di come i nodi si trovano l'un l'altro e creare una tabella di routing.
Per il mio design mi piacerebbe avere solo nodi e nessun server listener / directory / discovery.
Avrò una lista di alcuni "nodi noti" che possono iniziare la catena di ricerca e connessione ai peer ma non riescono a capire un flusso di lavoro per questo.
Domande:
1) Come sono assegnati gli ID a ciascun nodo?
2) Come funziona la scoperta tra pari?
- Known node is running and is the only node on the network.
- New node connects to known node and requests full peer list?
- Connect to each peer on the list?
3) Poiché ogni nodo è un client e un server, ci devono essere 2 connessioni tra ogni nodo?