Roman Zeyde
4a8b8fe9a1
Move server-specific code into main.rs
6 years ago
Roman Zeyde
f6e74a225a
Fix small typo in TODOs
6 years ago
Roman Zeyde
374bcbdb58
Incrementally update mempool index
This should significantly improve resource usage when the
mempool has thousands of pending transactions.
6 years ago
Roman Zeyde
aa862679c7
Log also # of indexed transactions
6 years ago
Roman Zeyde
3334dd5bcc
Update TODOs
6 years ago
Roman Zeyde
1f8b6df531
Re-format several files
6 years ago
Roman Zeyde
e7ec19408b
Improve timing metrics' collection and formatting
6 years ago
Roman Zeyde
4b70f3664e
Do not require txindex over the full node
Lookup confirmed transactions only at their blocks (using
the `blockhash` parameter of `getrawtransaction` RPC).
Note that seeking inside a block (on a HDD) doesn't take
too much time when compare to reading the whole block and
finding the transaction (even without a client-side cache).
Note: txindex takes ~16GB today (over Bitcoin mainnet).
6 years ago
Roman Zeyde
4189931020
Handle multiple RPC clients in parallel
6 years ago
Roman Zeyde
2fee6ea070
Measure initial headers' load time
6 years ago
Roman Zeyde
fe39718587
Look up transaction height in index if not specified
6 years ago
Roman Zeyde
9f8f1adf3c
Allow single transaction lookup by full TXID
6 years ago
Roman Zeyde
3cc7625608
Allow specifying blockheader during transaction lookup via daemon
This would allow to work without daemon's txindex.
Note that seeking inside a block (on a HDD) doesn't take
too much time when compare to reading the whole block and
finding the transaction (even without client-side cache).
Next commit should add support for looking up confirmation
height for a given transaction ID (currently assumes txindex).
6 years ago
Roman Zeyde
cecaa538b5
Allow querying mempool directly for transactions
This would allow querying the daemon only for confirmed transactions.
6 years ago
Roman Zeyde
b2bb6b8c78
Improve error message in case of Query::status() failure
6 years ago
Roman Zeyde
82cdf65436
Rename Query::load_txns_by_prefix()
6 years ago
Roman Zeyde
679bc7a4de
Refactor timing logic into util::Timer
6 years ago
Roman Zeyde
7d9cbc74f1
Move configuration into a separate module
6 years ago
Roman Zeyde
98d1dabfff
Stop indexing after SIGINT
6 years ago
Roman Zeyde
48ec215050
Split {Read,Write}Store getter from App
6 years ago
Roman Zeyde
a8e32f6ce0
Remove unused DBStore method
6 years ago
Roman Zeyde
78f5203fe7
Simplify indexing main loop
6 years ago
Roman Zeyde
09c795ce37
Check downloaded block hash
6 years ago
Roman Zeyde
505914828a
Update README.md
6 years ago
Roman Zeyde
9ca064c320
Update crate name
6 years ago
Roman Zeyde
76a396968a
Update TODO.txt
6 years ago
Roman Zeyde
8c3382cea7
Refactor balance calculation
6 years ago
Roman Zeyde
2e84b05c28
Use commandline flag for log file specification
6 years ago
Roman Zeyde
a4f6ba8fa4
Simplify main loop
6 years ago
Roman Zeyde
629ef08d2b
Validate the new chain extension
6 years ago
Roman Zeyde
e8c358c961
Fix 'use' statements ordering
6 years ago
Roman Zeyde
6a68753f04
Use HeaderList::header_by_blockhash() to verify the header
6 years ago
Roman Zeyde
ade45b3336
Remove 'futures' and 'tokio' dependencies
6 years ago
Roman Zeyde
d08411109f
Use WriteStore trait object for Index::update()
6 years ago
Roman Zeyde
32226298e2
Remove fixed TODO
6 years ago
Roman Zeyde
43b952703f
Merge branch 'refactor'
6 years ago
Roman Zeyde
e499809d76
Remove unused code from util.rs
6 years ago
Roman Zeyde
5b7b7d0d10
Refactor Index::get_header() implementation
6 years ago
Roman Zeyde
ddb38e7d4a
Small refactoring of RPC internals
6 years ago
Roman Zeyde
ca21ba837d
Rewrite query and RPC functionality using new index API
6 years ago
Roman Zeyde
14ae2a6b71
Rewrite indexing using new HeaderList API
6 years ago
Roman Zeyde
175e4cd4fc
Simplify daemon's header download logic
6 years ago
Roman Zeyde
11f889611e
Add new API for HeaderList for incremental updates
6 years ago
Roman Zeyde
312aeb5711
Verify HeaderList::tip() using assertion
6 years ago
Roman Zeyde
a101935f41
Move fmt::Debug trait to HeaderEntry
6 years ago
Roman Zeyde
313420b0e1
Simplify latest headers' retrieval
6 years ago
Roman Zeyde
548de46410
Improve logging at store.rs
6 years ago
Roman Zeyde
75d88fcec1
Improve initial data load logging
6 years ago
Roman Zeyde
ecd7511842
Simplify indexing main loop a bit
6 years ago
Roman Zeyde
67ece2dd49
Retrieve blockchain state before opening the DB
This would make sure that bitcoind is up and running.
7 years ago