import trio
import logging
import sys
from py_ipfs_lite.peer import Peer
from py_ipfs_lite.config import Config
from py_ipfs_lite.cli import DEFAULT_BOOTSTRAP_PEERS

logging.basicConfig(level=logging.INFO)

async def main():
    config = Config()
    config.offline = False
    peer = Peer(config)
    try:
        await peer.start()
        print("Peer started")
        
        await peer.bootstrap(DEFAULT_BOOTSTRAP_PEERS)
        
        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 bootstrap: {active}")
            await trio.sleep(5)
            
    finally:
        await peer.close()

trio.run(main)
