Files

60 lines
2.0 KiB
Nim
Raw Permalink Normal View History

{.push raises: [].}
2025-11-15 23:31:09 +01:00
import tools/confutils/cli_args
2026-06-25 09:27:01 +02:00
import logos_delivery/waku/[common/logging, waku, factory/networks_config]
import
2026-07-16 14:02:17 -03:00
results,
std/[strutils, os, sequtils],
chronicles,
chronos,
metrics,
libp2p/crypto/crypto
export
2026-07-16 14:02:17 -03:00
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)
2026-06-10 09:09:22 -03:00
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
2026-07-16 14:02:17 -03:00
conf.clusterId = Opt.some(twnNetworkConf.clusterId)
conf.rlnRelayEthContractAddress = twnNetworkConf.rlnRelayEthContractAddress
2026-07-16 14:02:17 -03:00
conf.rlnRelayDynamic = Opt.some(twnNetworkConf.rlnRelayDynamic)
conf.discv5Discovery = Opt.some(twnNetworkConf.discv5Discovery)
conf.discv5BootstrapNodes =
conf.discv5BootstrapNodes & twnNetworkConf.discv5BootstrapNodes
2026-07-16 14:02:17 -03:00
conf.rlnEpochSizeSec = Opt.some(twnNetworkConf.rlnEpochSizeSec)
conf.rlnRelayUserMessageLimit = Opt.some(twnNetworkConf.rlnRelayUserMessageLimit)
# Only set rlnRelay to true if relay is configured
if conf.relay:
2026-07-16 14:02:17 -03:00
conf.rlnRelay = Opt.some(twnNetworkConf.rlnRelay)
2025-10-15 10:49:36 +02:00
info "Starting node"
2025-07-10 19:49:47 +03:00
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