Closed Wondertan closed 1 year ago
@derrandz is taking over this issue.
TODO (in order):
[ ] Documenting peer-usage throughout celestia-node (specifically in the libs/header/p2p
and share/p2p
packages) that results in a doc.go per package
[ ] Detailed design of proposed solution (results in mini-ADR / creating a tasklist on this issue -- mini ADR not necessary but preferable! 😄 )
[ ] Implementation based on tasklist
All our infrastructure is based around bootstrappers, and each time a node starts; it connects to them and only to them. We do not save any information about other discovered peers during runtime on disk.
This is a choke point for our networks. In case network bootstrappers go offline, a node connected to the network won't be able to rejoin it after the restart.
Saving known peers on disk and using them for bootstrapping will solve the problem, decrease the load on bootstrappers, and enhance network decentralization.
To ultimately achieve the goal, we should: