Publish multiple address when websocket enabled. (#766)

* publish multiple nodes

Signed-off-by: rshiv <reeshav96@gmail.com>

* Print multiple addresses if wsenabled

Signed-off-by: rshiv <reeshav96@gmail.com>

* review comment fix

Signed-off-by: rshiv <reeshav96@gmail.com>

* review comment fix

Signed-off-by: rshiv <reeshav96@gmail.com>

* review changes

Signed-off-by: rshiv <reeshav96@gmail.com>

* review changes

Signed-off-by: rshiv <reeshav96@gmail.com>

* code review changes

Signed-off-by: rshiv <reeshav96@gmail.com>

* review comments

Signed-off-by: rshiv <reeshav96@gmail.com>

* review fixes

Signed-off-by: rshiv <reeshav96@gmail.com>

* websocket address fix

Signed-off-by: rshiv <reeshav96@gmail.com>
This commit is contained in:
rshiv 2021-11-15 13:29:18 +00:00 committed by GitHub
parent 067478d725
commit 6cad482ca6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 8 deletions

View File

@ -55,6 +55,7 @@ const clientId* = "Nimbus Waku v2 node"
# Default topic # Default topic
const defaultTopic = "/waku/2/default-waku/proto" const defaultTopic = "/waku/2/default-waku/proto"
# key and crypto modules different # key and crypto modules different
type type
KeyPair* = crypto.KeyPair KeyPair* = crypto.KeyPair
@ -87,6 +88,7 @@ type
filters*: Filters filters*: Filters
rng*: ref BrHmacDrbgContext rng*: ref BrHmacDrbgContext
wakuDiscv5*: WakuDiscoveryV5 wakuDiscv5*: WakuDiscoveryV5
announcedAddresses* : seq[MultiAddress]
started*: bool # Indicates that node has started listening started*: bool # Indicates that node has started listening
proc protocolMatcher(codec: string): Matcher = proc protocolMatcher(codec: string): Matcher =
@ -169,7 +171,8 @@ proc new*(T: type WakuNode, nodeKey: crypto.PrivateKey,
else: some(bindPort) else: some(bindPort)
enr = createEnr(nodeKey, enrIp, enrTcpPort, none(Port)) enr = createEnr(nodeKey, enrIp, enrTcpPort, none(Port))
if wsEnabled == true or wssEnabled == true:
if wsEnabled or wssEnabled:
info "Initializing networking", hostAddress, wsHostAddress, info "Initializing networking", hostAddress, wsHostAddress,
announcedAddresses announcedAddresses
peerInfo.addrs.add(wsHostAddress) peerInfo.addrs.add(wsHostAddress)
@ -178,7 +181,7 @@ proc new*(T: type WakuNode, nodeKey: crypto.PrivateKey,
peerInfo.addrs.add(hostAddress) peerInfo.addrs.add(hostAddress)
for multiaddr in announcedAddresses: for multiaddr in announcedAddresses:
peerInfo.addrs.add(multiaddr) # Announced addresses in index > 0 peerInfo.addrs.add(multiaddr)
var switch = newWakuSwitch(some(nodekey), var switch = newWakuSwitch(some(nodekey),
hostAddress, hostAddress,
@ -197,7 +200,8 @@ proc new*(T: type WakuNode, nodeKey: crypto.PrivateKey,
rng: rng, rng: rng,
peerInfo: peerInfo, peerInfo: peerInfo,
enr: enr, enr: enr,
filters: initTable[string, Filter]() filters: initTable[string, Filter](),
announcedAddresses: announcedAddresses
) )
return wakuNode return wakuNode
@ -814,7 +818,11 @@ proc start*(node: WakuNode) {.async.} =
# TODO Get this from WakuNode obj # TODO Get this from WakuNode obj
let peerInfo = node.peerInfo let peerInfo = node.peerInfo
info "PeerInfo", peerId = peerInfo.peerId, addrs = peerInfo.addrs info "PeerInfo", peerId = peerInfo.peerId, addrs = peerInfo.addrs
let listenStr = $peerInfo.addrs[^1] & "/p2p/" & $peerInfo.peerId var listenStr = ""
for address in node.announcedAddresses:
var fulladdr = "[" & $address & "/p2p/" & $peerInfo.peerId & "]"
listenStr &= fulladdr
## XXX: this should be /ip4..., / stripped? ## XXX: this should be /ip4..., / stripped?
info "Listening on", full = listenStr info "Listening on", full = listenStr
info "Discoverable ENR ", enr = node.enr.toURI() info "Discoverable ENR ", enr = node.enr.toURI()

View File

@ -90,7 +90,7 @@ proc newWakuSwitch*(
if wsEnabled == true: if wsEnabled == true:
b = b.withAddresses(@[wsAddress, address]) b = b.withAddresses(@[wsAddress, address])
b = b.withWsTransport() b = b.withWsTransport()
if wssEnabled == true: elif wssEnabled == true:
b = b.withAddresses(@[wsAddress, address]) b = b.withAddresses(@[wsAddress, address])
b = b.withWssTransport(secureKeyPath, secureCertPath) b = b.withWssTransport(secureKeyPath, secureCertPath)
else : else :