import trio
from py_ipfs_lite.config import Config
from py_ipfs_lite.peer import Peer
from libp2p.peer.peerinfo import info_from_p2p_addr
from multiaddr import Multiaddr

async def main():
    config = Config(blockstore_path=".py_ipfs_lite_test_conn/blocks")
    peer = Peer(config)
    await peer.start()
    try:
        addr = Multiaddr("/ip4/104.131.131.82/tcp/4001/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ")
        info = info_from_p2p_addr(addr)
        await peer.host.connect(info)
        
        for conns in peer.host.get_network().connections.values():
            for conn in conns:
                sc = conn.muxed_conn.secured_conn
                print("Secured conn addresses:", sc.get_transport_addresses())
                if hasattr(conn, "get_transport_addresses"):
                    print("Swarm conn addresses:", conn.get_transport_addresses())
    finally:
        await peer.close()

trio.run(main)
