update libp2p & add addr filtering

This commit is contained in:
SionoiS 2026-04-23 08:52:25 -04:00
parent e4e3502aa7
commit e5740c2f12
No known key found for this signature in database
GPG Key ID: C9458A8CB1852951
3 changed files with 9 additions and 13 deletions

View File

@ -10,8 +10,7 @@ import
libp2p/protocols/mix/mix_protocol,
libp2p/[peerid, multiaddress, switch],
libp2p/extended_peer_record,
libp2p/protocols/[kademlia, kad_disco],
libp2p/protocols/kademlia_discovery/types as kad_types,
libp2p/protocols/[kademlia, service_discovery],
libp2p/protocols/service_discovery/types
import waku/waku_core, waku/node/peer_manager
@ -22,7 +21,7 @@ logScope:
const DefaultKademliaDiscoveryInterval* = chronos.seconds(60)
type WakuKademlia* = ref object
protocol*: KademliaDiscovery
protocol*: ServiceDiscovery
peerManager: PeerManager
loopInterval: Duration
#periodicWalkFut: Future[void]
@ -158,12 +157,11 @@ proc new*(
if bootstrapNodes.len == 0:
debug "creating kademlia discovery as seed node (no bootstrap nodes)"
let kademlia = KademliaDiscovery.new(
let kademlia = ServiceDiscovery.new(
switch,
bootstrapNodes = bootstrapNodes,
config = KadDHTConfig.new(
validator = kad_types.ExtEntryValidator(), selector = kad_types.ExtEntrySelector()
),
config =
KadDHTConfig.new(validator = ExtEntryValidator(), selector = ExtEntrySelector()),
services = providedServices,
xprPublishing = xprPublishing,
)

View File

@ -16,7 +16,8 @@ import
libp2p/nameresolving/nameresolver,
libp2p/builders,
libp2p/switch,
libp2p/transports/[transport, tcptransport, wstransport]
libp2p/transports/[transport, tcptransport, wstransport],
libp2p/peeraddrpolicy
# override nim-libp2p default value (which is also 1)
const MaxConnectionsPerPeer* = 1
@ -100,6 +101,7 @@ proc newWakuSwitch*(
.withSignedPeerRecord(sendSignedPeerRecord)
.withCircuitRelay(circuitRelay)
.withServices(@[hpService])
.withAddressPolicy(noPrivateAddressPolicy)
if peerStoreCapacity.isSome():
b = b.withPeerStore(peerStoreCapacity.get())

View File

@ -99,11 +99,7 @@ proc new*(
wakuKademlia: wakuKademlia,
)
procCall MixProtocol(mix).init(
localMixNodeInfo,
switch,
delayStrategy = ExponentialDelayStrategy.new(rng = crypto.newRng()),
)
procCall MixProtocol(mix).init(localMixNodeInfo, switch)
return ok(mix)