bob_central.go_bridge_node

go_bridge_node.py - Eva’s ROS 2 Go Bridge Node.

Bridges the Eva Python mesh with the external libp2p/IPFS DHT network via the Go binary. Provides peer discovery, node identification, IPFS content routing, and peer profiling.

Topics:

/eva/swarm/external_peers (std_msgs/String) - Discovered external peers & profiles /eva/swarm/external_status (std_msgs/String) - Bridge health status

Attributes

GO_BRIDGE_PATH

KNOWN_BOOTSTRAP

INTERESTING_CIDS

Classes

GoBridgeNode

ROS 2 node wrapping the Go libp2p bridge binary.

Functions

main([args])

Module Contents

bob_central.go_bridge_node.GO_BRIDGE_PATH = '/ros2_ws/src/bob_central/scripts/go-bridge'
bob_central.go_bridge_node.KNOWN_BOOTSTRAP = '/ip4/51.81.93.51/tcp/4001/p2p/QmQCU2EcMqAqQPR2i9bChDtGNJchTbq5TbXJJ16u19uLTa'
bob_central.go_bridge_node.INTERESTING_CIDS = ['QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv', 'QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG']
class bob_central.go_bridge_node.GoBridgeNode

Bases: rclpy.node.Node

ROS 2 node wrapping the Go libp2p bridge binary.

peers_pub
status_pub
discovered_peers
peer_profiles
discovered_providers
last_scan_time = 0
scan_interval = 300
bridge_path = '/ros2_ws/src/bob_central/scripts/go-bridge'
bridge_available = False
_run_bridge(args: list, timeout: int = 60) dict
_profile_peer(peer_id: str) dict

Resolve and identify a peer, returning its profile.

run_discovery()

Run periodic peer discovery, content routing, and profiling.

identify_node(multiaddr: str) dict
find_peers(bootstrap_addr: str = None, count: int = 20) dict
find_providers(cid_str: str) dict
publish_status()
bob_central.go_bridge_node.main(args=None)