Roman Zeyde
77b47ec351
Document the reasons for using custom RocksDB release
2021-09-18 09:45:18 +03:00
Roman Zeyde
357bfe896d
Use a custom release of rocksdb
2021-09-18 09:01:29 +03:00
Roman Zeyde
32b6340cc1
Use core-rpc
instead of bitcoincore-rpc
...
https://github.com/RCasatta/rust-bitcoincore-rpc
2021-09-17 23:42:57 +03:00
Martin Habovstiak
577f54195b
Auto reindex when old database is detected
...
This implements automatic reindexing of old database, turned on by
default. When an old database is detected and `auto_reindex` is turned
on the database will be destroyed so that `electrs` can re-sync. The
user can still turn this off to check db format.
The help message says "or inconsistent" - this is not implemented but we
could in the future and it seems reasonable to explicitly state that
this option will control that thing as well.
Note: 0.8.x versions of `electrs` didn't contain format information -
so we check if the database is empty and assuming it's legacy if it's
not empty but without format information.
The code is also restructured a bit and a few tests are added.
2021-09-17 15:20:54 +03:00
Roman Zeyde
3f41cdaa55
Add snappy to RocksDB features
...
It would be useful to detect old DBs:
https://github.com/romanz/electrs/pull/477#discussion_r707600255
RocksDB compilation time increases 1m03s -> 1m07s (+6%).
Total electrs build time is 2m05s.
2021-09-15 17:26:45 +03:00
Roman Zeyde
2f24d0774a
Downgrade librocksdb-sys to 6.11.4
2021-09-10 21:04:29 +03:00
Roman Zeyde
269e756383
Next release will be 0.9.0-rc1
2021-09-09 13:39:04 +03:00
Roman Zeyde
f9346d2a1d
Drop hyper dependency
...
https://rustsec.org/advisories/RUSTSEC-2021-0078
Use tiny_http for Prometheus instead.
2021-08-27 20:53:11 +03:00
Roman Zeyde
0516aead2a
Bump bitcoin dependency to 0.27
...
A bit hacky solution until https://github.com/rust-bitcoin/rust-bitcoincore-rpc/pull/196 is merged.
2021-08-27 19:46:56 +03:00
Roman Zeyde
45833c3b61
Use parking_lot::{Mutex, RwLock} instead of std::sync
2021-06-14 13:20:21 +03:00
Roman Zeyde
d2fff752cd
Build hyper when 'metrics' feature is enabled
2021-06-06 16:15:47 +03:00
Roman Zeyde
8bb6d2ab20
Drop rust-crypto unneeded dependency
2021-05-31 21:26:35 +03:00
Roman Zeyde
15ec11f8b6
Disable default features for rocksdb dependency
2021-05-30 21:38:51 +03:00
Roman Zeyde
b0deaecdc4
Allow optional metrics collection
...
Can be disable by `--no-default-features`.
Also, enable RocksDB ZSTD compression (removing the feature).
2021-05-29 12:24:19 +03:00
Roman Zeyde
ce0018be57
Fix rocksdb build on RPi4
2021-05-20 18:20:14 +03:00
Roman Zeyde
8890c4bbb7
Allow disabling prometheus' process collector
...
It is supported only on Linux.
2021-04-29 20:30:33 +03:00
Roman Zeyde
bc14b7cfdd
Bump prometheus
2021-04-29 20:12:32 +03:00
Roman Zeyde
3780d7d48b
Refactor and sync using p2p protocol
2021-04-14 18:38:59 +03:00
Franck Royer
3c4cf72960
Set Rust toolchain to 1.41.1
...
The project does not compile on 1.34.0 because it uses
the lockfile format introduced in 1.38.0.
Do note that Debian stable at this time uses Rust 1.41.1.
Setting a specific toolchain version is good practice for
binary project and remove potential issues of incompatible
toolchain for users trying to build the project.
2020-09-28 13:27:15 +03:00
Roman Zeyde
aef1347859
Fix support for Rust 1.41.1
...
As it is the current Rust version at Debian stable:
https://packages.debian.org/stable/rustc
2020-09-28 11:13:00 +03:00
Dr. Maxim Orlovsky
af6ff09a27
Removing BitcoinHash trait to adopt new bitcoin crate API
2020-09-18 18:36:04 +02:00
Roman Zeyde
840da895ce
Bump version
2020-07-01 22:50:32 +03:00
Roman Zeyde
ba12177404
Update configure_me
...
Following https://github.com/romanz/electrs/issues/247 .
2020-06-18 18:33:25 +03:00
Roman Zeyde
7925babdd6
Revert "Update configure_me and other dependencies"
...
This reverts commit 687ae6c65b
.
2020-06-18 18:28:17 +03:00
Roman Zeyde
1ca25531b7
Bump version
2020-06-03 18:37:01 +03:00
Roman Zeyde
687ae6c65b
Update configure_me and other dependencies
2020-06-03 17:32:50 +03:00
Dr. Maxim Orlovsky
969364af00
WIP on migrating to new bitcoin::hash_types
...
All types are replaced; only work on merkle types left,
which requires addition of the code
2020-04-20 00:28:23 +02:00
Roman Zeyde
cbc2214cd5
Bump version
2020-01-30 21:56:24 +02:00
Roman Zeyde
ccf6967d73
Bump version
2019-12-06 13:17:00 +02:00
Roman Zeyde
5833a9a213
Downgrade rocksdb to 0.12.2 to support more x86 CPUs
...
https://github.com/romanz/electrs/issues/193
2019-12-02 10:15:05 +02:00
Roman Zeyde
1498eed6bb
Bump version
2019-11-20 22:21:49 +02:00
Roman Zeyde
48622f4bfb
Update rocksdb to 0.13.0
2019-11-19 15:08:32 +02:00
Roman Zeyde
ef3c387189
Bump version
2019-10-28 22:25:59 +02:00
Roman Zeyde
cd87a3aad5
Merge pull request #182 from Kixunil/update_configure_me
...
Update `configure_me` as well as other packages
2019-10-24 22:01:26 +03:00
Michel Kansou
71575de8a7
Update rust-bitcoin & bitcoin_hashes
2019-10-20 11:37:47 +02:00
Martin Habovstiak
5ac315ff3c
Update configure_me
as well as other packages
...
* This should resolve #180 , not sure (couldn't get past rocksdb on 1.34)
* Uses new, cleaner way of specifying `config_spec.toml`
2019-10-18 17:14:53 +02:00
Roman Zeyde
a347e6719f
Bump version
2019-10-05 12:42:16 +03:00
Martin Habovstiak
35b3cededc
Support for user-specified onfiguration files/dirs
...
This commit upgrades `configure_me` and adds support for `--conf` and
`--conf-dir` parameters, which load the configuration from the specified
place.
2019-09-28 23:13:50 +02:00
Martin Habovstiak
bcb04196c3
Updated to configure_me
0.3.5
...
This update fixes the issue with hypens and additionally makes error
messages from the build script nicer.
Fixes #170
2019-09-13 18:39:39 +02:00
Martin Habovštiak
bbc6fcb21d
Merge branch 'master' into configure_me
2019-09-07 11:33:13 +02:00
Roman Zeyde
05b653f7f5
Use AtomicU64 after updating to Rust >=1.34
2019-09-07 12:06:19 +03:00
Roman Zeyde
32015a762c
Use TryInto to convert slices into array
...
Remove dependency on `arrayref`.
2019-09-07 12:05:43 +03:00
Martin Habovstiak
ec049b9ad5
Use configure_me instead of clap
...
Since use of configuration files is both mmore secure and more
convenient and clap doesn't support config files, this switches to
configure_me, which supports config files, env vars and also generating
man pages.
Closes #151
2019-09-06 20:16:51 +02:00
Roman Zeyde
fcbf16b9f1
Bump version
2019-07-27 17:42:32 +03:00
Roman Zeyde
5d37e7fe52
Bump version
2019-06-13 22:35:10 +03:00
Roman Zeyde
70d0c1d47f
Merge branch 'atomic-counter'
2019-06-13 22:25:29 +03:00
Roman Zeyde
bebbfa197d
Add support for latest Rust features via --features latest_rust
2019-06-13 22:18:27 +03:00
Roman Zeyde
83bbfaaca1
Build with LTO
2019-05-30 10:15:12 +03:00
Roman Zeyde
b52090da03
Bump version
2019-05-17 10:09:21 +03:00
Roman Zeyde
f8f53cebaf
Revert "Use TryInto to convert slices into array"
...
This reverts commit 62592dbabf
to support
Rust 1.32 on Debian.
2019-05-10 21:45:19 +03:00
Roman Zeyde
1aeba092ec
Bump version
2019-05-09 11:48:02 +03:00
Roman Zeyde
2286efba87
Switch to signal-hook
crate from deprecated chan-signal
2019-05-06 11:47:46 +03:00
Roman Zeyde
94e139934f
Bump version
2019-04-29 14:36:34 +03:00
Roman Zeyde
62592dbabf
Use TryInto to convert slices into array
...
Remove dependency on `arrayref`.
2019-04-29 13:28:10 +03:00
Roman Zeyde
8af98a3b9f
Update more crates
2019-03-28 15:10:45 +02:00
Roman Zeyde
18a1d29509
Update bitcoin to 0.18
2019-03-28 13:51:46 +02:00
Roman Zeyde
72eb1e1c62
Update rockdb to 0.12.1
2019-03-28 13:45:54 +02:00
Roman Zeyde
b2b7e1c42a
Bump version
2019-03-03 22:36:35 +02:00
Roman Zeyde
77ee699ed5
Update bitcoin crate to 0.17
2019-03-02 21:34:49 +02:00
Roman Zeyde
5037673af6
Upgrade Bitcoin crate
2019-01-21 14:47:26 +02:00
Roman Zeyde
ec7b0b7378
Upgrade Prometheus crate
2019-01-21 14:17:45 +02:00
Roman Zeyde
e996edbb82
Update RocksDB crate to 0.11
2019-01-13 10:01:29 +02:00
Roman Zeyde
5453ffe72a
Bump version
2018-12-23 09:55:54 +02:00
Roman Zeyde
5f2d4289dc
Support Rust 2018 edition
...
Builds on Rust 1.31
2018-12-08 11:40:04 +02:00
Roman Zeyde
09725e8615
Bump version
2018-11-22 11:24:23 +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
42ab247776
Use LRU cache (instead of an unbounded HashMap) for transaction caching
2018-10-17 11:46:49 +03:00
Roman Zeyde
5895ad906d
Bump version
2018-10-14 14:40:55 +03:00
Roman Zeyde
4301abdd10
Bump version
2018-09-22 15:44:24 +03:00
Roman Zeyde
e09816db65
Bump version
2018-09-14 17:59:54 +03:00
Roman Zeyde
58ea2ed960
Allow higher concurrency for >dual core machines
2018-09-07 18:08:36 +03:00
Roman Zeyde
6af64b6106
Update sysconf to >=0.3.4
2018-08-29 23:28:13 +03:00
Riccardo Casatta
8d2f491e91
update rust-bitcoin dep to 0.14
2018-08-24 10:57:19 +02:00
Roman Zeyde
62bc2dc845
Bump version
2018-08-20 08:11:39 +03:00
Roman Zeyde
5869a833cd
Bump version
2018-08-14 11:17:29 +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
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
fa3ea2869a
Switch to spacejam/rust-rocksdb crate
...
for latest RocksDB (5.14.2)
2018-07-23 10:14:13 +03:00
Roman Zeyde
849c83ed64
Bump version
2018-07-14 18:04:27 +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
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
586d6132d6
Use 'pingcap' RocksDB fork
2018-07-08 23:24:21 +03:00
Roman Zeyde
93f1b85cda
Use ms
precision for logging
2018-07-07 11:02:29 +03:00
Roman Zeyde
7a170c6e11
Prepare v0.1.0 release
2018-07-02 15:53:04 +03:00
Roman Zeyde
09ccc29ef1
Update error-chain dependency
...
(for latest Rust)
2018-06-30 11:39:56 +03:00
Roman Zeyde
0171b8f63c
Allow listing bitcoind blk*.dat files
2018-06-21 22:03:01 +03:00
Roman Zeyde
1e798c2ced
Log only to stderr
...
Also replace `argparse` by `clap`.
2018-06-18 12:23:19 +03:00
Roman Zeyde
1f2fb6e4a0
Remove progress bar (to be replaced by Prometheus monitoring)
2018-06-13 10:10:06 +03:00
Roman Zeyde
c3682ade1f
Add support for Prometheus monitoring
2018-06-12 18:47:28 +03:00
Roman Zeyde
ca82a585e6
Remove sled
dependency
2018-06-05 23:35:38 +03:00
Roman Zeyde
1f8b6df531
Re-format several files
2018-06-03 20:42:37 +03:00
Roman Zeyde
98d1dabfff
Stop indexing after SIGINT
2018-06-01 19:08:22 +03:00
Roman Zeyde
9ca064c320
Update crate name
2018-05-31 14:44:00 +03:00
Roman Zeyde
ade45b3336
Remove 'futures' and 'tokio' dependencies
2018-05-30 23:47:49 +03:00
Roman Zeyde
fd03723842
Use std::thread instead of crossbeam
2018-05-25 10:30:20 +03:00
Roman Zeyde
a0f61e6a94
Add tokio dependency
2018-05-23 17:40:01 +03:00
Roman Zeyde
ab9f273bc0
Don't specify patch versions at Cargo.toml
2018-05-23 10:28:38 +03:00
Roman Zeyde
5941edbbc6
Remove itertools dependency
2018-05-21 11:18:16 +03:00
Roman Zeyde
a2dea8c3f2
Update to latest 'bitcoin' crate
2018-05-16 21:53:18 +03:00