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 encode information in several ENRs. Meaning that one node can produce 2 ENRs: one contains rs, other contains multiaddrs for wss address, (and a 3rd one could contains rendez vous multiaddrs)
We replace ENR with something else that does not have a size limit (libp2p's signed envelops?)
Introduce a simple req/resp protocol that allows retrieving additional info from a node (maybe extending libp2p's identify protocol).
Evaluation of solutions
Is fine short term but js-waku (status-web) does need access to the rs field even if only using store/filter/light push
Is the current preferred solution
Not a solution we want to push
waku2 info is covered as part of identify so it could be removed from ENR?
Acceptance criteria
Define a way to convey all necessary information in ENR
Notes
a. For efficiency reason, the rs information must be present in the ENR and cannot be transmitted via req/resp protocol (4)
b. Connection information (ws/tcp/ip/fqdn details) must be present in the ENR otherwise the req/resp protocol cannot happen
c. waku2 information is already covered as part of identify so could be removed?
d. A node that provide circuit relay info would not also provide ws info: if it needs to provide circuit relay info to be connected to, then it means it does not expose a direct port to the internet and hence ws connection is not possible @richard-ramos to confirm this point.
Problem
31/WAKU2-ENR conforms to the EIP-778 size limit of 300 bytes.
multiaddrsfield was added to enable storage of information for secure websocket connections: FQDN + WSS PORT.Circuit relay information also needs to be stored, currently using
multiaddrsfield: To investigate: adding circuit relay information to multiaddr logos-messaging/logos-delivery#1491rsrelay sharding field is being added: update 31/WAKU2-ENR: add static sharding fields #178WSS + Circuit Relay information already takes the ENR over 300 bytes (especially when trying to store 2 circuit relay multiaddr)
WSS + relay shard information takes the ENR over 300 bytes in some instances
Solutions
rsattribute.fqdnandwss_portfields to the ENR and prefer it overmultiaddrsto suport secure websocket information. Also do not encodewss_portif value is443. 31/WAKU2-ENR: Move websocket connection info frommultiadrrstows_port+fqdnrfc#578identifyprotocol).Evaluation of solutions
rsfield even if only using store/filter/light pushwaku2info is covered as part ofidentifyso it could be removed from ENR?Acceptance criteria
Notes
a. For efficiency reason, the
rsinformation must be present in the ENR and cannot be transmitted via req/resp protocol (4)b. Connection information (ws/tcp/ip/fqdn details) must be present in the ENR otherwise the req/resp protocol cannot happen
c.
waku2information is already covered as part ofidentifyso could be removed?d.
A node that provide circuit relay info would not also provide ws info: if it needs to provide circuit relay info to be connected to, then it means it does not expose a direct port to the internet and hence ws connection is not possible @richard-ramos to confirm this point.