Antoni Spaanderman
953988c00f
fix deprecation and clippy warnings ( #1042 )
2024-05-26 08:29:32 +03:00
Roman Zeyde
1b06226c17
Add txid collision scanner ( #928 )
2023-08-28 13:55:41 +03:00
Roman Zeyde
3780d7d48b
Refactor and sync using p2p protocol
2021-04-14 18:38:59 +03:00
Antoine Poinsot
f1d611fe19
Add a 'blocks_dir' option analogous to bitcoind's '-blocksdir'
...
The '-blocksdir' startup option allows one to store blk*.dat on an
external disk, while keeping the index (blocks/index/) on the same disk.
This makes electrs aware of such an option, while still keeping the same
default behaviour (blk*.dat in '<config_dir>/blocks/').
Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
2020-06-30 14:46:25 +02:00
Dagur Valberg Johannsson
6ba67cb9f6
Add metrics to blocktxids cache
2019-07-04 08:18:54 +00:00
Dagur Valberg Johannsson
2e9ac5c0d8
Cache list of transaction IDs for blocks
2019-07-04 08:18:16 +00:00
Roman Zeyde
ef54e452bf
Fix more Clippy warnings
2019-03-08 21:16:35 +02:00
Roman Zeyde
582af3d697
Update rust-bitcoin to 0.15.1 and re-generate Cargo.lock
2018-11-10 21:40:07 +02:00
Roman Zeyde
fce7bd15b0
Add simple transaction ID prefix collision length calculator
2018-10-01 21:15:12 +03:00
Roman Zeyde
3f51458fee
Optimize for low-memory systems by using different RocksDB settings
...
- Keep less open files (to preserve memory)
- Don't use compaction readahead
- Use smaller SSTable block size
2018-09-16 09:55:42 +03:00
Roman Zeyde
fff0d0632a
Remove obsolete bulk loading example
2018-09-01 08:26:19 +03:00
Roman Zeyde
2fad1fb8c9
Refactor P2P notification handling
2018-08-15 17:40:56 +03:00
Roman Zeyde
604f7680df
Notify only about new blocks from P2P layer
2018-08-15 17:05:12 +03:00
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
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
f66e5e48cc
Add a simple tool for full compaction benchmarking
2018-08-05 13:18:04 +03:00
Roman Zeyde
85687f18dd
Add short description to example/ binaries
2018-08-01 15:00:18 +03:00
Roman Zeyde
b9c778f02d
Respond to SIGINT while waiting for re-connections
2018-07-29 09:48:49 +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
2d74d6d4f0
Rename a few Config members following #19
...
rpc_addr -> electrum_rpc_addr
daemon_rpc_url -> daemon_rpc_addr
2018-07-15 22:39:19 +03:00
Lawrence Nahum
408372cba4
make listen port and bitcoin rpc configurable
2018-07-15 19:08:15 +02:00
Roman Zeyde
253e244a86
Fix cargo fmt
for Travis
...
Stable Rust doesn't support `cargo fmt --check` (yet).
2018-07-14 13:02:28 +03:00
Roman Zeyde
2852020c58
Fix leftovers at examples/load.rs
2018-07-13 22:24:14 +03:00
Roman Zeyde
48cd929a99
Remove StoreOptions and enable manual compactions explicitly
2018-07-13 14:23:10 +03:00
Roman Zeyde
b9a4cb4318
Move bulk reader and indexer to separate module
2018-07-12 16:47:39 +03:00
Roman Zeyde
4c7413db9d
Increase open files limit explicitly
...
Otherwise, full compaction may fail.
2018-07-12 14:44:10 +03:00
Roman Zeyde
62a78f18ad
Put "finish" marker after compaction is over
2018-07-12 10:46:33 +03:00
Roman Zeyde
f92dfc808d
Log indexed blk*.dat file path
2018-07-12 09:25:17 +03:00
Roman Zeyde
7b5679db70
Panic if DB exists before running bulk load benchmark
2018-07-11 21:26:12 +03:00
Roman Zeyde
b32e503db2
Rename regular indexing benchmark
2018-07-11 21:26:12 +03:00
Roman Zeyde
dd70a1cc8a
Persist last indexed block marker
2018-07-11 21:26:12 +03:00
Roman Zeyde
10919035bd
Rename bulk load benchmark
2018-07-11 20:44:05 +03:00
Roman Zeyde
4da521b3cd
Refactor bulk load benchmark
...
- bulk writes take ~1h (reading blk*.dat files at ~48MB/s)
- full compaction takes ~45m (writing 37GB of SSTables)
2018-07-11 20:42:57 +03:00
Roman Zeyde
e69686f988
Use multiple bulk index workers
2018-07-10 23:52:26 +03:00
Roman Zeyde
fb372b2915
Split reading from indexing blk*.dat files
...
Also, use a single Vec<Row> for write operation
2018-07-10 15:37:56 +03:00
Roman Zeyde
4c182a0650
Fix formatting
2018-07-09 17:10:24 +03:00
Roman Zeyde
da570a9182
Fix benchmarks
2018-07-08 23:23:36 +03:00
Roman Zeyde
e4a3581da1
Use Path::join() for DB directory
2018-07-06 11:49:25 +03:00
Roman Zeyde
130ced9ae0
Format using nightly rustfmt
2018-07-03 11:46:36 +03:00
Roman Zeyde
82c2caa3af
Fix Daemon usage by benchmarks
2018-07-03 10:52:09 +03:00
Roman Zeyde
7581fd7d1a
Move bulk load helper back to electrs
2018-06-28 23:08:34 +03:00
Roman Zeyde
fd16082925
Don't start bulk loader if already done
2018-06-28 13:41:46 +03:00
Roman Zeyde
70743c9a10
Integrate bulk parser into main server binary
2018-06-28 11:15:30 +03:00
Roman Zeyde
0cceb790b9
Rename parse
into bulk
2018-06-28 00:20:24 +03:00
Roman Zeyde
fe03b121f1
Update multiple use
formatting
2018-06-27 00:28:50 +03:00
Roman Zeyde
1c70addede
Fix travis
2018-06-26 09:32:35 +03:00
Roman Zeyde
f631bf26af
Dedup FakeStore definition
2018-06-25 23:06:24 +03:00
Roman Zeyde
0de580a300
Perform compaction after blk*.dat parsing is over
2018-06-25 22:16:46 +03:00
Roman Zeyde
8e0a719cee
Replace eprintln!() by error!()
2018-06-25 22:16:22 +03:00