import trio
import logging
from py_ipfs_lite.peer import Peer
from py_ipfs_lite.config import Config

logging.basicConfig(level=logging.INFO)

async def main():
    config = Config()
    config.offline = False
    peer = Peer(config)
    try:
        await peer.start()
        print("Peer started")
        
        peer_addr = "/ip4/52.7.200.90/udp/4001/quic-v1/p2p/12D3KooWS9GDjG635iEMB2Zz3iSXpxgPhNNpmDCuo4ynSkitoyut"
        print(f"Bootstrapping with: {peer_addr}")
        await peer.bootstrap([peer_addr])
        
        target_peer = "12D3KooWS9GDjG635iEMB2Zz3iSXpxgPhNNpmDCuo4ynSkitoyut"
        
        for i in range(12):
            network = peer.host._host.get_network()
            conns = network.connections.get(target_peer, [])
            active = sum(1 for c in conns if not c.is_closed)
            print(f"Time {i*5}s - active conns to EC2 PROD: {active}")
            await trio.sleep(5)
            
    finally:
        await peer.close()

trio.run(main)
