Commit Graph

570 Commits

Author SHA1 Message Date
Roman Zeyde
d45dba2681
Move p2p listener logic into notify module 2018-08-15 11:08:52 +03:00
Roman Zeyde
fd5db9b2fd
Add simple P2P listener example 2018-08-15 10:32:13 +03:00
Roman Zeyde
a8a5772b26
Remove periodic mempool size logging 2018-08-15 08:50:59 +03:00
Roman Zeyde
fc8656f7a4
Refactor daemon's JSONRPC retries
This should handle also "retriable" JSONRPC errors (e.g. RPC_IN_WARMUP)
2018-08-14 23:54:45 +03:00
Roman Zeyde
73d649dc27
Detect bitcoind RPC_IN_WARMUP JSONRPC error
Handle it similarly to disconnection errors.
2018-08-14 23:52:19 +03:00
Roman Zeyde
583e6beaca
Reimplement Daemon::request() using Daemon::requests() 2018-08-14 22:33:17 +03:00
Roman Zeyde
38aa2a4cf4
Fail Electrum RPCs if daemon's RPC returns an error
It appears that bitcoind return "HTTP/1.1 500" in case of JSONRPC error:
63f8b0128b/src/httprpc.cpp (L72)
2018-08-14 22:33:17 +03:00
Roman Zeyde
945a2d11d1
Remove irrelevant TODO
This can be achieved by limiting bitcoind mempool size.
2018-08-14 13:30:52 +03:00
Roman Zeyde
961a9207ae
Poll mempool after a transaction is broadcast 2018-08-14 13:09:30 +03:00
Roman Zeyde
8b02df8f4c
Ignore *.pyc files 2018-08-14 11:41:37 +03:00
Roman Zeyde
7b79bc93fc
Mention new monitoring ports' defaults 2018-08-14 11:36:32 +03:00
Roman Zeyde
5869a833cd
Bump version 2018-08-14 11:17:29 +03:00
Roman Zeyde
f387d038bc
Unconfirmed balance may be negative
e.g. when an outgoing transaction is unconfirmed
2018-08-14 10:34:50 +03:00
Roman Zeyde
b78e047dfa
Separate default monitoring ports for testnet and regtest 2018-08-14 10:16:01 +03:00
Roman Zeyde
2e6554cc92
Support testnet mempool visualization 2018-08-14 10:08:11 +03:00
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