import trio

from py_ipfs_lite.config import Config
from py_ipfs_lite.peer import create_and_start_peer


async def main():
    config = Config(blockstore_path=".py_ipfs_lite_test_inspect")
    async with create_and_start_peer(10015, None, config, bootstrap=True) as peer:
        print("Connected peers:", len(peer.host.get_network().connections))
        for peer_id, conns in peer.host.get_network().connections.items():
            for conn in conns:
                print("---")
                print("Conn type:", type(conn))
                print("Muxed conn type:", type(conn.muxed_conn))
                if hasattr(conn.muxed_conn, "secured_conn"):
                    sc = conn.muxed_conn.secured_conn
                    print("Secured conn type:", type(sc))
                    if hasattr(sc, "transport_conn"):
                        print("Transport conn type:", type(sc.transport_conn))
                    elif hasattr(sc, "conn"):
                        print("Transport conn type:", type(sc.conn))
                break
            break

trio.run(main)
