I am trying to query for about 1000 BTC addresses. I am not sure why it I am unable to connect to my server when I can go into the BTC RPC explorer via the browser. I can use this exact code in my citadel last month but I cannot do it in umbrel. Is there a config that limits the API calls for “localhost:/api/address/”? I am using tailscale to connect remotely.
This is my python code:
import asyncio
import aiohttp
data = pd.read_csv('ConsolidatedBTCBalances.csv')
Wallet_Address = (data.loc[:, "Address"])
results = []
Balance_storage = []
def get_tasks(session):
tasks = []
for address in Wallet_Address:
url = f"http://100.81.89.84:3002/api/address/{address}"
tasks.append(session.get(url,ssl=False))
print(address)
return tasks
session_timeout = aiohttp.ClientTimeout(total=None)
async def get_balances():
async with aiohttp.ClientSession(timeout=session_timeout) as session:
tasks = get_tasks(session)
responses = await asyncio.gather(*tasks)
for response in responses:
outcome = await response.json(content_type=None)
balanceSat = outcome["txHistory"]["balanceSat"]
Balance_storage.append(balanceSat)
data[today] = Balance_storage
print(data)
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
asyncio.run(get_balances())
This is the error:
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host 100.81.89.84:3002 ssl:False [Connect call failed (‘100.81.89.84’, 3002)]