Skip to content

Timeouts #187

@ludmildev

Description

@ludmildev

We are encountering repeated timeout errors when SHKeeper communicates with the Bitcoin RPC service, as well as when downloading the Ethereum blockchain key from the ETH settings page.

Example error from logs: WARNING btc.py:50 balance(): Error: HTTPConnectionPool(host='bitcoin-shkeeper', port=6000): Read timed out. (read timeout=10).

So BTC amount cannot be updated and stays 0 in front-end.

Observed Behavior:
Bitcoin balance checks via btc.py intermittently fail with a read timeout (10s).
The ETH Settings page fails to download the blockchain key due to a frontend timeout.
The browser returns an error after ~10 seconds.
When running the same request manually from inside the Docker container, the request does succeed, but takes ~13+ seconds to complete.
This indicates the backend service is still processing correctly, but the request exceeds the current timeout limits.

Expected Behavior:
Long-running RPC requests (Bitcoin balance scan, ETH key download) should not fail due to strict timeouts.
Either:
the timeout should be increased
the request should be handled asynchronously (background task / polling).

Root Cause (Likely)

The HTTP client timeout is set to 10 seconds, which is too low for:
Bitcoin RPC calls (especially scantxoutset, balance calculations)
Ethereum key export operations
Frontend timeout appears to be aligned with the same 10s limit, causing user-visible failures even though the backend eventually responds.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions