js-waku icon indicating copy to clipboard operation
js-waku copied to clipboard

Bootstrap fleet (ex- waku connect)

Open D4nte opened this issue 3 years ago • 1 comments

See https://github.com/status-im/infra-waku-connect/issues/1

We are setting up some nodes to enable Waku Connect (ie, js-waku) users to test out the js-waku library without having to deploy their own nodes. Once they are happy with js-waku and https://github.com/status-im/nim-waku/issues/828 is ready we can push towards platforms running their own nodes. The Waku Connect DNS ENR tree can then be used as entry point for bootstrapping, until we can consolidate the fleet and decide one or several a default domain across implementations

Goals:

  • js-waku uses DNS Discovery by default
  • js-waku connects by default to a fleet that has no performance issue wrt Waku Relay
  • js-waku connects by default to several relay peers (maybe not 6 yet but at least 2)
  • We facilitate the usage of js-waku with self-deployed nodes by trying out, demonstrating and documenting the expected setup done by platforms who are also operators. Note, this overlaps with nim-waku's misison. it's a collaborative effort.

Proposed plan:

  • [ ] Test wc nodes, ensure js-waku can connect to them via native websocket.
  • [ ] Ensure that relay performance is adequate and mitigated as waku store is disabled
  • [ ] Generate an ENR Tree for the wc nodes
  • [ ] Setup this ENR tree (bootstrap.wakuconnect.dev?)
  • [ ] Use the ENR tree for js-waku, confirm it performs as expected
  • [ ] Do #405
  • [ ] Do #517, increase default peer to 2
  • [ ] Do performance testing? Test how many relay peers nodes can handle
  • [ ] Create a new ENR tree which includes a leaf that points to prod status DNS record, set it on a separate domain (stage.bootstrap.wakuconnect.dev?)
  • [ ] Test above, start increasing default number of peers (probably 3 as we don't have that many node to access to, except if peer exchange is ready)
  • [ ] If it works, copy stage.bootstrap.wakuconnect.dev ENR tree to bootstrap.wakuconnect.dev

D4nte avatar Feb 21 '22 02:02 D4nte

nwaku's native websocket is not yet perfect: https://github.com/status-im/nwaku/issues/949 Block on this. nwaku's native websocket needs to be has good, if not better, than websockify before we can play around with this new fleet.

D4nte avatar May 09 '22 05:05 D4nte

Most of the tasks above are now done or handled in the following streams:

  • dogfooding of dns discovery and peer exchange
  • Kurtosis scalability and performance testing

fryorcraken avatar Jan 31 '23 05:01 fryorcraken