Files
Fabiana Cecin 6fe8b4b959 fix(config): logosdeliverynode explicit flags override mode
* remove entry-layer/mode fields from wakunode2's renamed kernel_cli_args.nim
* logosdeliverynode's new cli_args.nim allows mode and optional protocol flags
* logosdeliverynode rejects --mode with --entry-layer=kernel
* delete EntryLayer from library API new/init (redundant with proc signatures)
2026-08-14 00:46:49 -03:00

60 lines
2.0 KiB
Nim
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{.push raises: [].}
import tools/confutils/kernel_cli_args
import logos_delivery/waku/[common/logging, waku, factory/networks_config]
import
results,
std/[strutils, os, sequtils],
chronicles,
chronos,
metrics,
libp2p/crypto/crypto
export
networks_config, waku, logging, strutils, os, sequtils, stewNet, chronicles, chronos,
metrics, crypto
proc setup*(): Waku =
const versionString = "version / git commit hash: " & waku.git_version
let rng = crypto.newRng()
let conf = WakuNodeConf.load(version = versionString).valueOr:
error "failure while loading the configuration", error = $error
quit(QuitFailure)
let twnNetworkConf = NetworkPresetConf.TheWakuNetworkConf()
if len(conf.shards) != 0:
conf.pubsubTopics = conf.shards.mapIt(twnNetworkConf.pubsubTopics[it.uint16])
else:
conf.pubsubTopics = twnNetworkConf.pubsubTopics
# Override configuration
conf.maxMessageSize = twnNetworkConf.maxMessageSize
conf.clusterId = Opt.some(twnNetworkConf.clusterId)
conf.rlnRelayEthContractAddress = twnNetworkConf.rlnRelayEthContractAddress
conf.rlnRelayDynamic = Opt.some(twnNetworkConf.rlnRelayDynamic)
conf.discv5Discovery = Opt.some(twnNetworkConf.discv5Discovery)
conf.discv5BootstrapNodes =
conf.discv5BootstrapNodes & twnNetworkConf.discv5BootstrapNodes
conf.rlnEpochSizeSec = Opt.some(twnNetworkConf.rlnEpochSizeSec)
conf.rlnRelayUserMessageLimit = Opt.some(twnNetworkConf.rlnRelayUserMessageLimit)
# Only set rlnRelay to true if relay is configured
if conf.relay:
conf.rlnRelay = Opt.some(twnNetworkConf.rlnRelay)
info "Starting node"
var waku = (waitFor Waku.new(conf)).valueOr:
error "Waku initialization failed", error = error
quit(QuitFailure)
(waitFor waku.start()).isOkOr:
error "Starting waku failed", error = error
quit(QuitFailure)
# set triggerSelf to false, we don't want to process our own stealthCommitments
waku.node.wakuRelay.triggerSelf = false
info "Node setup complete"
return waku