2018-06-15 11:23:48 +02:00
|
|
|
# Electrum
|
|
|
|
|
2018-06-03 22:28:18 +02:00
|
|
|
* Poll mempool after transaction broadcast
|
2018-06-16 11:38:43 +02:00
|
|
|
* Support TLS (via https://docs.rs/rustls/)
|
2018-06-03 20:07:01 +02:00
|
|
|
* Snapshot DB after successful indexing - and run queries on the latest snapshot
|
2018-06-15 11:23:48 +02:00
|
|
|
* Update height to -1 for txns with any [unconfirmed input](https://electrumx.readthedocs.io/en/latest/protocol-basics.html#status)
|
2018-06-26 17:52:06 +02:00
|
|
|
* Limit mempool TXs (e.g. by fee rate) when mempool is large
|
2018-06-15 11:23:48 +02:00
|
|
|
|
|
|
|
# Bitcoind
|
2018-05-23 12:33:34 +02:00
|
|
|
|
2018-06-16 11:38:43 +02:00
|
|
|
* Stream blocks (instead batching RPCs)
|
2018-06-15 11:23:48 +02:00
|
|
|
* Use nTx from [getblockheader RPC](https://github.com/bitcoin/bitcoin/pull/13451) for better batching
|
2018-06-03 20:07:01 +02:00
|
|
|
* Handle bitcoind connection failures - instead of crashing
|
|
|
|
* Add getrawtransactions() API (for RPC batching)
|
2018-05-23 12:33:34 +02:00
|
|
|
|
2018-06-15 11:23:48 +02:00
|
|
|
# Performance
|
|
|
|
|
2018-06-28 10:21:32 +02:00
|
|
|
* Use rayon for faster multi-block indexing on multi-core systems
|
2018-06-15 11:23:48 +02:00
|
|
|
* Experiment with [sled](https://github.com/spacejam/sled) DB
|
|
|
|
|
|
|
|
# Rust
|
2018-05-23 12:33:34 +02:00
|
|
|
|
2018-07-03 20:02:12 +02:00
|
|
|
* Use [bytes](https://carllerche.github.io/bytes/bytes/index.html) instead of `Vec<u8>` when possible
|
2018-06-03 20:07:01 +02:00
|
|
|
* Use generators instead of vectors
|