bob_central.swarm_scout_node

swarm_scout_node.py - Eva’s External Swarm Scout Daemon.

Periodically probes public bootstrap nodes for peer discovery, attempts Noise XX handshake, reports findings to Qdrant.

Topics:

/eva/swarm/scout_report (std_msgs/String) - Scout findings

Attributes

QDRANT_URL

BOOTSTRAP_NODES

NOISE_AVAILABLE

NOISE_AVAILABLE

Classes

SwarmScoutNode

Periodically scouts external P2P networks.

Functions

main([args])

Module Contents

bob_central.swarm_scout_node.QDRANT_URL = 'http://qdrant:6333'
bob_central.swarm_scout_node.BOOTSTRAP_NODES = [('51.81.93.51', 4001), ('147.75.83.211', 4001)]
bob_central.swarm_scout_node.NOISE_AVAILABLE = False
bob_central.swarm_scout_node.NOISE_AVAILABLE = True
class bob_central.swarm_scout_node.SwarmScoutNode

Bases: rclpy.node.Node

Periodically scouts external P2P networks.

report_pub
diag_pub
session_id = ''
scout_count = 0
_varint_encode(value: int) bytes
probe_bootstrap(host: str, port: int) dict

Full probe with multistream-select and optional Noise handshake.

report_to_qdrant(findings: list)
run_scout()
publish_diagnostics(findings)

Publish node status as ROS 2 diagnostics.

bob_central.swarm_scout_node.main(args=None)