diff options
| author | Adam Soltys <[email protected]> | 2026-06-14 23:26:14 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-06-14 23:26:14 -0700 |
| commit | c40df841881dced8079f25a419d737064eaacabd (patch) | |
| tree | 8702672d7af98b2837aff482e90d81c2059a9041 /src/wallet.js | |
| parent | 59f1ab912a104b60df8fa31aecd972c04e564d23 (diff) | |
| download | coinosv3-c40df841881dced8079f25a419d737064eaacabd.tar.gz coinosv3-c40df841881dced8079f25a419d737064eaacabd.zip | |
Defeat scan 429s with multi-backend rotation + cooldown
The "CORS" errors were 429 Too Many Requests (a 429 has no CORS headers, so
the browser reports it as a CORS failure). SSL/hosting is irrelevant.
Per-request retries made it worse by multiplying load on an already
rate-limited host. Replace with:
- round-robin across two Esplora-compatible backends (mempool.space +
Blockstream), halving per-host load
- park a host on an 8s cooldown when it 429s instead of retrying it
- keep the global throttle (2 concurrent, 200ms gap)
- map Blockstream's /fee-estimates to the named fee tiers
Unit-tested rotation/cooldown; live scan of 40 addresses now completes in
~8s with no failures.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Diffstat (limited to 'src/wallet.js')
0 files changed, 0 insertions, 0 deletions
