2026-06-03 15:05:51 +04:00

28 lines
682 B
Nim

import pkg/libp2p
import pkg/libp2p/errors
import pkg/storage/rng
proc newStandardSwitch*(
addrs: MultiAddress | seq[MultiAddress] = newSeq[MultiAddress](),
transportFlags: set[ServerFlags] = {},
sendSignedPeerRecord = false,
): Switch {.raises: [LPError].} =
var addrs =
when addrs is MultiAddress:
@[addrs]
else:
addrs
if addrs.len == 0:
addrs = @[MultiAddress.init("/ip4/127.0.0.1/tcp/0").expect("invalid multiaddress")]
SwitchBuilder
.new()
.withRng(Rng.instance())
.withSignedPeerRecord(sendSignedPeerRecord)
.withAddresses(addrs)
.withTcpTransport(transportFlags)
.withMplex()
.withNoise()
.build()