Commit Graph

655 Commits

Author SHA1 Message Date
Roman Zeyde
0f02dfdcba
Add testnet support for address-based balance query tool 2018-08-14 09:28:53 +03:00
Roman Zeyde
56af6170dd
Refactor daemon port and cookie directory 2018-08-14 09:23:45 +03:00
Roman Zeyde
123e0cf23b
Separate Electrum client helper from actual tools 2018-08-14 09:19:55 +03:00
Roman Zeyde
a3f43643f3
Support 'blockchain.address.subscribe' Electrum API 2018-08-13 11:45:34 +03:00
Roman Zeyde
ecc8a2004e
Log HTTP headers and response in case of JSONRPC error 2018-08-12 17:23:26 +03:00
Roman Zeyde
2f1e4123e1
Update usage.md with Electrum installation URL 2018-08-12 13:50:45 +03:00
Roman Zeyde
cb6196d7a9
Increase target_file_size to 256MB (for HDD) 2018-08-07 15:11:09 +03:00
Roman Zeyde
85edb2cc2c
Use OS prefetching during bulk import 2018-08-07 15:10:28 +03:00
Roman Zeyde
4ee5aba5fe
Add HDD tuning guide to TODO.md 2018-08-07 15:09:44 +03:00
Roman Zeyde
b300a55cb4
Log daemon information with INFO verbosity 2018-08-07 12:10:02 +03:00
Roman Zeyde
1c75b55b71
Reduce max_open_files to reduce RocksDB RAM usage
At 128MB per SST, we should have ~300 target files.
2018-08-06 20:23:33 +03:00
Roman Zeyde
d8e53246c4
Persist full compaction marker after bulk indexing is over 2018-08-06 20:23:33 +03:00
Roman Zeyde
652e577f24
Export more metrics from server
Add userspace CPU usage and # of file descriptors.
2018-08-06 18:44:18 +03:00
Roman Zeyde
a93284cd96
Export current process RSS size to Prometheus 2018-08-06 18:44:18 +03:00
Roman Zeyde
eab81c2936
Use larger write buffer size (256MB) 2018-08-06 18:44:18 +03:00
Roman Zeyde
2260fdc1a4
Apply full-compaction after non-bulk initial indexing 2018-08-06 18:44:18 +03:00
Roman Zeyde
ac819af52e
Allow setting index batch size from command-line
Should allow running on low-memory systems.
2018-08-06 18:44:18 +03:00
Roman Zeyde
0b4a56ade8
Use regular indexing instead of the bulk-based one (with disabled compaction) 2018-08-05 15:01:18 +03:00
Roman Zeyde
972a155ce0
Use larger write buffer size (128MB) 2018-08-05 14:07:24 +03:00
Roman Zeyde
f66e5e48cc
Add a simple tool for full compaction benchmarking 2018-08-05 13:18:04 +03:00
Roman Zeyde
7e7f62111a
Implement "verbose" blockchain.transaction.get Electrum RPC
Also, change Daemon::load_txn() to be a private method.
2018-08-05 11:56:46 +03:00
Roman Zeyde
93022ef834
Add "raw" gettransaction() daemon method
It allows implementing "verbose" `blockchain.transaction.get` Electrum RPC
2018-08-05 11:54:20 +03:00
Roman Zeyde
2f48be7d0b
Support "blockchain.address.get_balance" Electrum API 2018-08-05 09:47:01 +03:00
Roman Zeyde
001f7a7ba5
Update stable Rust to 1.28
Fix formatting warnings.
2018-08-04 22:25:25 +03:00
Roman Zeyde
e4556e8929
Replace to-be-deprecated std:🔚:home_dir() with dirs::home_dir()
Found by building on nightly
2018-08-04 20:37:40 +03:00
Roman Zeyde
792dd8867a
Fail if bitcoind is pruned or still in IBD
(with human-readable error message)
2018-08-02 16:40:00 +03:00
Roman Zeyde
308333f40b
Make sure bitcoind 0.16+ is used 2018-08-02 15:51:46 +03:00
Roman Zeyde
31ee0df0bf
Use stable Rust from ./scripts/run.sh 2018-08-02 15:51:21 +03:00
Roman Zeyde
b71c41854e
Re-open DB before compaction (to close unused file descriptors) 2018-08-02 15:22:29 +03:00
Roman Zeyde
45b507a241
Add optional --cookie flag to usage example 2018-08-02 14:05:56 +03:00
Roman Zeyde
00210f6e29
Remove optional bitcoind flag from doc/usage.md 2018-08-02 14:03:19 +03:00
Roman Zeyde
85687f18dd
Add short description to example/ binaries 2018-08-01 15:00:18 +03:00
Roman Zeyde
96c0737649
Add key/value separators for schema doc 2018-08-01 13:41:27 +03:00
Roman Zeyde
87b4df5747
Persist stderr log with run.sh 2018-08-01 11:07:30 +03:00
Roman Zeyde
016fc46018
Reduce compaction readahead size to 1MB
Should reduce RAM consumption during full compaction stage,
without hurting the throughput too much.
2018-07-30 14:05:46 +03:00
Roman Zeyde
d8078c1930
Enable detailed backtraces at scripts/run.sh 2018-07-29 22:03:11 +03:00
Roman Zeyde
b8e07f153a
Correct RPC shutdown logging 2018-07-29 09:48:49 +03:00
Roman Zeyde
b9c778f02d
Respond to SIGINT while waiting for re-connections 2018-07-29 09:48:49 +03:00
Roman Zeyde
ea39632523
Add interrupt error kind 2018-07-29 09:39:36 +03:00
Roman Zeyde
3f9f6e6330
Exit RPC server during its d-tor 2018-07-29 09:22:54 +03:00
Roman Zeyde
2c167c6a7d
Merge branch 'disconnect' 2018-07-28 23:30:49 +03:00
Roman Zeyde
9ee92c823f
Read cookie as Vec<u8> (instead of String) 2018-07-28 18:12:13 +03:00
Roman Zeyde
6bb837177c
Handle missing cookie file as connection failure 2018-07-28 17:50:59 +03:00
Lawrence Nahum
883108b072
Fix help message for skip_bulk_import 2018-07-28 15:04:37 +03:00
Roman Zeyde
6efab9c8a2
Reconnect after TCP disconnections and HTTP errors 2018-07-28 14:57:09 +03:00
Roman Zeyde
06f5a099a4
Simplify Daemon::reconnect() 2018-07-28 14:57:09 +03:00
Roman Zeyde
defe9f13af
Measure RPC latency after connection lock is taken 2018-07-28 14:57:09 +03:00
Roman Zeyde
1d59449677
Abstract cookie handling to a trait object
This would allow re-loading JSONRPC cookie after bitcoind restart
2018-07-28 14:57:09 +03:00
Roman Zeyde
91e4dd8b6f
Fail with ErrorKind::Connection (instead of a generic error) 2018-07-28 10:06:02 +03:00
Roman Zeyde
c317c6f7ad
Move logging statement from headers' download loop 2018-07-27 23:49:21 +03:00