1
0
Fork 0
mirror of https://github.com/romanz/electrs.git synced 2025-02-25 07:17:41 +01:00
Commit graph

909 commits

Author SHA1 Message Date
Matt Corallo
f256039147
Ignore individual mempool transaction fetch fails
I wrote this in the github editor, so no promises that it compiles, but this should avoid several extra heap allocations and moves while fetching the mempool, and, more importantly, get electrs out of an infinite loop of fetching the full mempool forever when there exist RBF transactions.
2021-03-03 21:10:37 +00:00
Roman Zeyde
97389fa9a4
Use non-batched gettransaction RPC
Following https://github.com/romanz/electrs/issues/373#issuecomment-785753029
2021-02-27 20:13:28 +02:00
Roman Zeyde
b1b9525202
Use non-batched getblock RPC
Following https://github.com/romanz/electrs/issues/373#issuecomment-785753029
2021-02-27 20:03:39 +02:00
Roman Zeyde
aa40a947ea
Reduce the default index_batch_size to 10
Following https://github.com/romanz/electrs/issues/373.
2021-02-24 10:07:01 +02:00
Roman Zeyde
2e003aaa6b
Merge remote-tracking branch 'kixunil/cookie_deprecation_detailed_doc' 2021-02-23 09:58:42 +02:00
Martin Habovstiak
afe32bb5b7 Added in-depth explanation of cookie deprecation
This adds more informtion about cookie deprecation, especially
motivation, so the users won't be frustrated because of unexplained
change. It also removes a warning that's no longer applicable.
2021-02-22 19:52:40 +01:00
Roman Zeyde
d114a6b4a7
Fixup latest version 2021-02-22 20:14:57 +02:00
Roman Zeyde
d953a75ce0
Bump version 2021-02-22 19:48:26 +02:00
Roman Zeyde
18823c0bc0
Merge remote-tracking branch 'kixunil/rename_cookie' 2021-02-22 18:43:16 +02:00
Martin Habovstiak
41f2077ee6 Implemented auth option and deprecated cookie
This adds `auth` option and deprecates `cookie` which has a confusing
name. It's effectively renaming but we pretend it is not to avoid people
blindly changing the name without second thought.

Closes #349 (a new tracking issue will be created)
2021-02-21 21:39:16 +01:00
Roman Zeyde
ef52bf268c
Merge remote-tracking branch 'kixunil/update-deps' 2021-02-21 21:36:08 +02:00
Roman Zeyde
3325d33f89
Merge branch 'improve_doc' 2021-02-21 21:32:09 +02:00
Martin Habovstiak
5bd3a7b48a Fix verbose parameter in config example
Helps with #352
2021-02-04 23:07:31 +01:00
Martin Habovstiak
d49ccd82ca Added a few line breaks to doc
These should not affect rendered result but make editing the file much
more pleasant.
2021-02-01 22:41:20 +01:00
Martin Habovstiak
8ca4f7ae7f Improve documentation
This improves documentation of configuration based on @BTCBellyButton
suggestions in #344. It contains a few more tweaks.
2021-02-01 22:33:04 +01:00
Martin Habovstiak
83df732fde Updated stderrorlog
This removes some other duplication.
2021-02-01 22:12:29 +01:00
Martin Habovstiak
dac8307a9c Updated several dependencies
* `arc_swap` and `smallvec` fix security vulnerabilities
* `configure_me` and `configure_me_codegen` update toml dependency
  leading to deduplication and shorter compile times
* `log` upgrades dependency on `cfg-if` bringing us closer to
  deduplicating it.

Closes #354
2021-02-01 21:59:32 +01:00
Roman Zeyde
8fb4d7c286
Bump version 2021-01-15 09:23:29 +02:00
Dr. Maxim Orlovsky
2a6881a5f8
Adding support for signet 2021-01-14 19:35:26 +01:00
Roman Zeyde
5ef12d4075
Merge remote-tracking branch 'kixunil/update_docs' 2020-12-03 15:07:24 +02:00
Martin Habovstiak
433760925a Avoid configuration footguns
This change takes several steps towards avoiding footguns when
configuring `electrs`:

* Moves config_spec.toml out of sight of non-developers
* Provides a configuration example
* Mentions the example in the docs
2020-12-01 19:03:39 +01:00
Martin Habovstiak
3d190dee59 Added upgrade instructions
This adds upgrade instructions as well as a note about RAM usage during
build which was missing.
2020-12-01 09:21:58 +01:00
Andreas Tietz
6e49ffedde Update rpc example following protocol changes 2020-11-29 01:40:44 +01:00
Roman Zeyde
5bb6f090ae
Bump version 2020-11-25 09:20:37 +02:00
Roman Zeyde
314c97b951
Merge remote-tracking branch 'kixunil/issue_templates' 2020-11-25 09:10:19 +02:00
Roman Zeyde
e5458b6b5e
Merge remote-tracking branch 'kixunil/cleanup_deps' 2020-11-25 09:03:35 +02:00
Roman Zeyde
2f1b9e2ecf
Merge remote-tracking branch 'kixunil/locked_cargo' 2020-11-25 08:55:43 +02:00
Roman Zeyde
49a4f25d62
Merge remote-tracking branch 'kixunil/update_lru' 2020-11-25 08:51:53 +02:00
Roman Zeyde
d03a98e051
Merge remote-tracking branch 'kixunil/update_prometheus' 2020-11-25 08:40:41 +02:00
Martin Habovstiak
bea3765723 Replace unmaintained crates with alternatives
According to `cargo audit` crates `rust-crypto`, `dirs` and `failure`
are unmaintained/deprecated. This change replaces former two.

Unfortunately `failure` can't be replaced because it's a transitive
dependency of `rocksdb`, which is pinned. Fortunately it's in build
script only, which should have no noticable effect on the quality of
`electrs` itself.

As a nice side effect this should remove a bunch of useless code since
we pull only specifically `sha2` without bundling other cryptography.
2020-11-24 18:58:24 +01:00
Martin Habovstiak
68b89165c3 Update prometheus to 0.10
The older version of `prometheus` depended on an old version of `spin`
which had a vulnerability related to locking. The new version of
prometheus doesn't use `spin` anymore so that the vulnerability is
fixed. Note that the vulnerability was unlikely on `x86_64` machines but
likely on ARM. `electrs` seems to be quite popular on various SBCs such
as Raspberry Pi, so fixing this is important.

More information: https://rustsec.org/advisories/RUSTSEC-2019-0013

Thankfully, `electrs` compiles with new `prometheus` without changes
despite it being semver breaking.
2020-11-24 17:58:11 +01:00
Martin Habovstiak
8b1c93892d Update lru to 0.6.1
The old version of `lru` uses `std::mem::uninitialized()` which is UB
and actually panicks in the tests when compiled with Rust 1.48. (1.48
intentionally turned this UB to panicking.)

While 0.6.1 is breaking change according to semver rules it turns out no
code change was needed, just version bump.
2020-11-24 17:16:08 +01:00
Martin Habovstiak
5a35e68b96 Use --locked in tests
This makes sure we test what's in `Cargo.lock` and not "random"
dependencies.
2020-11-24 16:10:05 +01:00
Martin Habovstiak
723028aafc Added issue templates
This adds four GitHub issue templates with these properties:

* Nudge people to read the docs
* Nudge inexperienced people to use automation
* Nudge people to provide important information (env, logs...)
* Assign myself (Kixunil) in case of build and config issues
2020-11-24 16:02:01 +01:00
Martin Habovstiak
e9b80bd2ea Run cargo install with --locked in Dockerfile
This prevents `cargo` from changing the dependencies during build.

Closes #329
2020-11-23 16:26:42 +01:00
Roman Zeyde
ceb899fd8f
Merge branch 'docker-healthcheck' of https://github.com/schildbach/electrs 2020-11-16 08:10:43 +02:00
Roman Zeyde
5510740a02
Add health-check tool 2020-11-15 22:26:52 +02:00
Roman Zeyde
e0eae37333
Merge branch 'update-doc' 2020-11-15 20:42:56 +02:00
Roman Zeyde
782c4c226b
Fix a small typo 2020-11-15 20:42:24 +02:00
Andreas Schildbach
7dd708dca0 Add simple health check to Dockerfile. 2020-11-15 09:31:26 +01:00
Martin Habovstiak
d98f746404 Updated documentation
* The mentioned Debian repository is now considered beta, make the
  wording much less scary.
* Documented how to link rocksdb dynamically and what are the pros/cons
* Documented how to cross compile
* Added `--locked` parameter to `cargo build` to prevent `cargo` from
  updating lock file
* Use `./target/release/electrs` instead of `cargo run` to avoid
  rebuilding footguns
* Added a link to in-depth explanation of cookie security
2020-11-14 12:26:20 +01:00
Martin Habovstiak
d68c191f92 Updated librocksdb-sys and bindgen
These new versions contain backports of fixes that make dynamic linking
less painful and cross compilation possible.
2020-11-14 10:27:07 +01:00
Roman Zeyde
7bcd20cd56
Fixup CI 2020-11-06 16:55:46 +02:00
Roman Zeyde
c88a0dc331
Fix #317 2020-11-06 16:28:39 +02:00
Roman Zeyde
8f2f53303a
Fix #314 2020-11-05 16:26:40 +02:00
Roman Zeyde
a25d8afe17
cargo fmt 2020-11-05 16:26:21 +02:00
Roman Zeyde
e0fa571a5c
Merge remote-tracking branch 'kixunil/rocksdb-optional-compression' 2020-11-05 10:35:24 +02:00
Roman Zeyde
453360fdb1
Merge remote-tracking branch 'k3tan/patch-1' 2020-11-05 10:32:32 +02:00
Martin Habovstiak
0b7d9e16e9 Make rocksdb compression algos optional
This makes the compression algorithms optional, but on by default to
keep the behavior. While one might think this just decreases the size a
bit, it has another advantage: when linking with system library it's not
needed to specify the paths of all these libraries because they are already
compiled in the system library.
2020-11-05 00:33:20 +01:00
k3tan172
60a211af38
Update usage.md 2020-10-16 07:30:30 +11:00