- Replaces Hackney with Finch for http requests, to improve concurrent
RPC handling under high load
- Rips out obsolete elixometer instrumentation
- Adds handling for failed prevout inflation
- Fail inflation step fast
API:
- Better RPC handling (cache credentials)
- Process transaction prevouts in dedicated Tasks
- Consume ZMQ sequence msgs
- Track mempool count precisely
- Cache prevouts for mempool transactions
- Send mempool count with every client msg, instead of reconstructing client-side
- Only send block ids over websocket, let clients fetch the full block data via http
Client:
- Simplify transaction queue to avoid setTimeouts
- improves experience in background tabs
- no longer need to hold back txs, as duplicates are now handled API-side
- Use API-supplied mempool count, instead of tracking it client-side
- Make mempoolCount a Svelte spring store, so updates transition smoothly
Fetch prevouts for solo and block transactions,
and calculate input values & tx fees.
Naive initial implementation with no caching,
so block processing is sloooooooooooooow.
Avoid sending large block data messages over websocket,
which block transaction updates, especially on lower
bandwidth connections.
Instead, only send the block id over websocket, and
then fetch over http with good caching
Use up-to-date nginx
Run builds on the amd64 architecture (This breaks builds on a Pi, but can simply be removed, it was added because it's much faster)
Copy package lockfile into container
Turn some steps into one