You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We need to add a new nwaku submodule within status-go and adapt the current status-go code base plus nwaku-libwaku so that we can have status-go working with nwaku.
There will be changes in:
status-go to integrate nwaku
nwaku to extend libwaku with the features needed by status-go
Discv5 works after being disconnected for a long time - the bootstrap nodes are never removed from the routing tables. We can see the code here
However, after being online again, we don't attempt to connect to the nodes we already found because we have them in backoff period. When we are disconnected, our node thinks the other nodes are faulty because it can't connect to them, but in fact the faulty node is ours. When online again, because of this issue, our node doesn't attempt to connect to them.
We should create a mechanism to recognize when our node is offline and avoid attempting to connect to other nodes whenever that's the case, or at least avoid mischaracterizing well-behaved peers
Summary
https://github.com/status-im/status-go should operate with waku through nwaku
We need to add a new
nwaku
submodule withinstatus-go
and adapt the currentstatus-go
code base plus nwaku-libwaku so that we can havestatus-go
working withnwaku
.There will be changes in:
Tasks
The following tasks must be reviewed since it's possible some of these are already implemented in nwaku
New
Config
andWakuConfig
protectedTopicStore
func (w *Waku) checkForConnectionChanges()
func (w *Waku) handleNetworkChangeFromApp(state connection.State)
func (w *Waku) ConnectionChanged(state connection.State)
discoverAndConnectPeers
directly connect to nodes fromw.cfg.WakuNodes
or attempt to use DNS Discovery if anenrtree
is foundrunPeerExchangeLoop
. Might not be necessary if nwaku already handles this?func (w *Waku) DialPeer(address multiaddr.Multiaddr)
func (w *Waku) DropPeer(peerID peer.ID) error
func (w *Waku) PeerID() peer.ID
The text was updated successfully, but these errors were encountered: