1
0
mirror of https://github.com/romanz/electrs.git synced 2024-11-19 01:43:29 +01:00

Update TODOs

This commit is contained in:
Roman Zeyde 2018-06-03 21:07:01 +03:00
parent 1f8b6df531
commit 3334dd5bcc
No known key found for this signature in database
GPG Key ID: 87CAE5FA46917CBB

View File

@ -1,23 +1,25 @@
Electrum
========
Update height to -1 for txns with any unconfirmed input (https://electrumx.readthedocs.io/en/latest/protocol-basics.html#status)
Snapshot DB after successful indexing - and run queries on this snapshot
Figure out graceful shutting down RPC server
* Poll mempool after transaction broadcase
* Update subscriptions after index/mempool update
* Snapshot DB after successful indexing - and run queries on the latest snapshot
* Update height to -1 for txns with any `unconfirmed input <https://electrumx.readthedocs.io/en/latest/protocol-basics.html#status>`_
Bitcoind
========
Handle bitcoind connection failures - instead of crashing
Use p2p protocol for querying blocks - similar to `bitcoincore-indexd`
Add getrawtransactions() API (for RPC batching)
* Use persistent connection for donwloading multiple blocks
* Use p2p protocol for querying blocks - similar to `bitcoincore-indexd`
* Handle bitcoind connection failures - instead of crashing
* Add getrawtransactions() API (for RPC batching)
Performance
===========
Add timing/profiler helpers (for indexing/DB/RPC operations)
Measure first-time query latency
Flush only on the last write.
* Export accumulated timing metrics (for indexing/DB/RPC operations)
* Measure first-time query latency
* Sync only on the last write.
Rust
====
Use Bytes instead of Vec[u8] when possible
Return errors instead of panics
Use generators instead of vectors
* Use Bytes instead of Vec[u8] when possible
* Return errors instead of panics
* Use generators instead of vectors