Removing/renaming unsupported switches was not called out explicitly and it's possible that someone is using a different bitcoind address, not just port.
Closes#520
With new `rocksdb` it's no longer necessary to disable features when dynamically linking.
Thus this change removes instructions to add `--no-default-features`.
However there's now a new feature called `metrics` which enables Prometheus.
This change also documents this and explains how to turn it off.
Closes#517
This warns users that they shouldn't touch `db_dir` internals except for
deleting the old `mainnet` database. It explains in details how to do
upgrade and deleting properly, calls it out in release notes and fixes
small style mistake in nearby heading.
It can be thought of as more explicit/detailed version of
8b8ebea0018d3e9a97ce965845b1914df4b4d8a4 or a textual alternative to
PR #513.
Current `usage.md` contains only one example in `RPC examples` which uses `echo` and `netcat`. The PR adds new and corresponding example in `Python` which can speed up the initial use of the `electrs` for people who try to use the project for the first time.
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.
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)
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
* 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
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.
This change makes many improvements to the documentation aimed at higher clarity and robustness. Aside from rewording and reordering various parts, it makes sure the documentation is up to date with the reality and best (security and cleanness) practices.
The list of changes:
* Changes the title of "Installation" section to make it clear it's manual and from source
* Points at more convenient options right on top
* Adds "Build dependencies" subtitle
* Makes "Build" a subtitle as it belongs under "Manual installation from source" section
* Recommends using Debain native packaging, which is more secure than `rustup`
* Suggests installation and use of `cfg_me`
* Moves Docker-based installation higher to be better visible
* Informs that native, stable packages are not available yet.
* Adds information about the experimental repository. While it can't be recommended for production use yet, the hope is to attract more contributors and deliver stable, secure and user-friendly experience sooner.
* Makes it clear that the documented configuration is manual, so that users using automated systems won't attempt to configure it manually
* Makes "Bitcoind configuration", "Usage" and "Configuration files" into subtitles
* Mentions the no-prune requirement upfront
* Makes it clear that `txindex` is not necessary, but also allowed.
* Recommends using cookie file
* Instead of telling people to wait for IBD before running `electrs` it accurately describes the behavior.
* Moves the section about `electrs` configuration before usage to be more visible. It's also the ordering of steps a user should take.
* Changes title of "configuration files and environment variables" to "Electrs configuration" to be consistent with "Bitcoind configuration"
* Recommends configuration files - they are clearer and saved across executions
* Clarifies the behavior of overriding files/arguments
* Documents `--conf` and `--conf-dir` arguments
* Explains the difference between `cookie` and `cookie_file`
* Renames "Usage" to "Electrs usage" to be more obvious
* Points out extra configuration suggestions, so they won't get lost after "Electrum client" section
* Notifies users of Debian repository to skip messing with Electrum configuration.
* Makes it clear that the script is provided in the repository (was not immediately obvious to me, LOL; providing `.desktop` file would be nicer, though)
* Added missing title "Extra configuration suggestions"
* Suggests to use more clear path in Tor configuration
* Hints at `tor-hs-config-patch`
* Warns users using the experimental Debian repository to not mess with systemd files