mirror of https://github.com/waku-org/nwaku.git
setting up dynamicBootstrapNodes in app
This commit is contained in:
parent
0c1d9059a6
commit
212260c77d
|
@ -107,6 +107,14 @@ proc init*(T: type App, conf: var WakuNodeConf): Result[App, string] =
|
|||
return err("Failed to generate key: " & $keyRes.error)
|
||||
conf.nodekey = some(keyRes.get())
|
||||
|
||||
debug "Retrieve dynamic bootstrap nodes"
|
||||
let dynamicBootstrapNodesRes = retrieveDynamicBootstrapNodes(conf.dnsDiscovery,
|
||||
conf.dnsDiscoveryUrl,
|
||||
conf.dnsDiscoveryNameServers)
|
||||
if dynamicBootstrapNodesRes.isErr():
|
||||
error "Retrieving dynamic bootstrap nodes failed", error = dynamicBootstrapNodesRes.error
|
||||
return err("Retrieving dynamic bootstrap nodes failed: " & dynamicBootstrapNodesRes.error)
|
||||
|
||||
let nodeRes = setupNode(conf, some(rng))
|
||||
if nodeRes.isErr():
|
||||
error "Failed setting up node", error=nodeRes.error
|
||||
|
@ -117,7 +125,8 @@ proc init*(T: type App, conf: var WakuNodeConf): Result[App, string] =
|
|||
conf: conf,
|
||||
rng: rng,
|
||||
key: conf.nodekey.get(),
|
||||
node: nodeRes.get()
|
||||
node: nodeRes.get(),
|
||||
dynamicBootstrapNodes: dynamicBootstrapNodesRes.get()
|
||||
)
|
||||
|
||||
ok(app)
|
||||
|
@ -232,7 +241,7 @@ proc updateApp(app: var App): AppResult[void] =
|
|||
|
||||
proc startApp*(app: var App): AppResult[void] =
|
||||
|
||||
let nodeRes = catch: (waitFor startNode(app.node,app.conf))
|
||||
let nodeRes = catch: (waitFor startNode(app.node, app.conf, app.dynamicBootstrapNodes))
|
||||
if nodeRes.isErr():
|
||||
return err("exception starting node: " & nodeRes.error.msg)
|
||||
|
||||
|
|
|
@ -279,19 +279,12 @@ proc setupProtocols(node: WakuNode,
|
|||
|
||||
## Start node
|
||||
|
||||
proc startNode*(node: WakuNode, conf: WakuNodeConf): Future[Result[void, string]] {.async.} =
|
||||
proc startNode*(node: WakuNode, conf: WakuNodeConf,
|
||||
dynamicBootstrapNodes: seq[RemotePeerInfo] = @[]): Future[Result[void, string]] {.async.} =
|
||||
## Start a configured node and all mounted protocols.
|
||||
## Connect to static nodes and start
|
||||
## keep-alive, if configured.
|
||||
|
||||
debug "Retrieve dynamic bootstrap nodes"
|
||||
|
||||
let dynamicBootstrapNodes = retrieveDynamicBootstrapNodes(conf.dnsDiscovery,
|
||||
conf.dnsDiscoveryUrl,
|
||||
conf.dnsDiscoveryNameServers).valueOr:
|
||||
error "Retrieving dynamic bootstrap nodes failed", error = error
|
||||
return err("Retrieving dynamic bootstrap nodes failed: " & error)
|
||||
|
||||
# Start Waku v2 node
|
||||
try:
|
||||
await node.start()
|
||||
|
|
Loading…
Reference in New Issue