Skip to content

Commit 83e4cbb

Browse files
committed
docs: Update README and CHANGELOG
1 parent 761a7e8 commit 83e4cbb

2 files changed

Lines changed: 26 additions & 14 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Unreleased
44

5-
- Implement mempool tracking, including support for an "effective feerate" metric that takes unconfirmed ancestors into account
5+
- Implement improved mempool tracking, including support for an "effective feerate" metric that takes unconfirmed ancestors into account
66
(calculated as `MIN(own_fee/own_vsize, (own_fee+ancestor_fee)/(own_vsize+ancestor_vsize))`).
77

88
HTTP API: the [wallet transaction format](https://github.com/shesek/bwt#wallet-transaction-format) now includes

README.md

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,17 @@
1818

1919
> ⚠️ This is early alpha software that is likely to be buggy. Use with care, preferably on testnet/regtest.
2020
21+
Support development: [bc1qmuagsjvq0lh3admnafk0qnlql0vvxv08au9l2d](https://blockstream.info/address/bc1qmuagsjvq0lh3admnafk0qnlql0vvxv08au9l2d) or [tippin.me](https://tippin.me/@shesek)
22+
2123
- [Intro](#intro)
22-
- [Server setup](#server-setup)
24+
- [Setting up bwt](#setting-up-bwt)
2325
- [Installation](#installation)
2426
- [Electrum-only server](#electrum-only-server)
2527
- [Pruning](#pruning)
2628
- [Real-time indexing](#real-time-indexing)
2729
- [Advanced options](#advanced-options)
2830
- [Electrum plugin](#electrum-plugin) 💥
31+
- [Manual Electrum setup](#manual-electrum-setup-without-the-plugin)
2932
- [HTTP API](#http-api)
3033
- [HD Wallets](#hd-wallets)
3134
- [Transactions](#transactions)
@@ -39,8 +42,6 @@
3942
- [Developing](#developing) 👩‍💻
4043
- [Thanks](#thanks)
4144

42-
<sub>*Support development: bc1qmuagsjvq0lh3admnafk0qnlql0vvxv08au9l2d or [tippin.me](https://tippin.me/@shesek)*</sub>
43-
4445
## Intro
4546

4647
`bwt` is a lightweight and performant HD wallet indexer backed by a bitcoin full node, using a model similar to that of Electrum Personal Server.
@@ -57,7 +58,7 @@ The index is currently managed in-memory and does not get persisted (this is exp
5758
*TL;DR: EPS + Rust + Modern HTTP API + Push updates*
5859

5960

60-
## Server setup
61+
## Setting up bwt
6162

6263
Get yourself a synced Bitcoin Core node (v0.19 is recommended, v0.17 is sufficient. `txindex` is not required) and install bwt using one of the methods below.
6364

@@ -88,6 +89,8 @@ $ tar zxvf bwt-0.1.3-x86_64-linux.tar.gz
8889
$ ./bwt-0.1.3-x86_64-linux/bwt --xpub <xpub> ...
8990
```
9091

92+
The signature verification should show `Good signature from "Nadav Ivgi <nadav@shesek.info>" ... Primary key fingerprint: FCF1 9B67 ...` and `bwt-VERSION-x86_64-linux.tar.gz: OK`.
93+
9194
#### From source
9295

9396
[Install Rust](https://rustup.rs/) and:
@@ -129,6 +132,10 @@ your `--bitcoind-url` (defaults to `http://127.0.0.1:<default-rpc-port>`),
129132

130133
You can set multiple `--xpub`s to track. This also supports ypubs and zpubs.
131134

135+
Rescanning can be controlled with `--xpub <xpub>:<rescan>`. You can specify `<rescan>` with the xpub birthday formatted
136+
as `yyyy-mm-dd` to scan from that date onwards only, or use `none` to disable rescanning entirely (for newly created wallets).
137+
*Setting this can significantly speed up scanning and is highly recommended.*
138+
132139
By default, the Electrum server will be bound on port `50001`/`60001`/`60401` (according to the network)
133140
and the HTTP server will be bound on port `3060`. This can be controlled with `--electrum-rpc-addr`
134141
and `--http-server-addr`.
@@ -170,7 +177,7 @@ This removes several large dependencies and disables the `track-spends` database
170177

171178
You can use bwt with pruning, but:
172179

173-
1. You will have to provide a rescan date that is within the range of non-pruned blocks, or use `none` to disable rescanning entirely (see [here](#rescan-policy--wallet-birthday)).
180+
1. You will have to provide a [rescan date](#rescan-policy--wallet-birthday) that is within the range of non-pruned blocks, or use `none` to disable rescanning entirely.
174181

175182
2. Electrum needs to be run with `--skipmerklecheck` to tolerate missing SPV proofs for transactions in pruned blocks.
176183

@@ -218,12 +225,6 @@ The gap limit sets the maximum number of consecutive unused addresses to be impo
218225
You can import larger batches with a higher gap during the initial sync using `--initial-import-size <N>` (defaults to 100).
219226
Higher value means less rescans. Should be increased for large wallets.
220227

221-
##### Rescan policy / wallet birthday
222-
223-
You may specify a rescan policy with the key's birthday to indicate how far back it should scan,
224-
using `--xpub <xpub>:<rescan>`, where `<rescan>` is one of `all` (rescan from the beginning, the default),
225-
`none` (don't rescan at all), the key birthday formatted as `yyyy-mm-dd`, or the birthday as a unix timestamp.
226-
227228
##### Bitcoin Core multi-wallet
228229

229230
If you're using [multi-wallet](https://bitcoin.org/en/release/v0.15.0.1#multi-wallet-support),
@@ -254,13 +255,24 @@ You will need to [run from tar.gz](https://github.com/spesmilo/electrum/#running
254255

255256
The plugin automatically configures Electrum with `--oneserver` (to avoid connecting to public servers) and `--skipmerklecheck` (necessary for [pruning](#pruning)).
256257

257-
To avoid connecting to public servers while setting up the plugin, you can start Electrum with `--offline`, enable and configure the plugin, then restart Electrum without `--offline`.
258-
Another option is to disconnect the internet entirely while setting things up.
258+
To avoid connecting to public servers while setting up the plugin, make sure the "auto connect" feature is disabled or run Electrum with `--offline` until everything is ready.
259259

260260
To build the plugin from source, first build the binary as [described here](#from-source), copy it into the `contrib/electrum-plugin` directory, then place that directory under `electrum/plugins`, *but renamed to `bwt`* (Electrum won't recognize it otherwise).
261261

262262
![Screenshot of bwt integrated into Electrum](doc/electrum-plugin.png)
263263

264+
## Manual Electrum setup (without the plugin)
265+
266+
[Setup the bwt server](#setting-up-bwt), then start Electrum with:
267+
268+
```bash
269+
$ electrum --skipmerklecheck --oneserver --server 127.0.0.1:50001:t
270+
```
271+
272+
Note that setting `--skipmerklecheck` is only necessary if your node is pruned,
273+
but it can also be used to save some resource when combined with `--electrum-skip-merkle`.
274+
See [more details here](#pruning).
275+
264276
## HTTP API
265277

266278
All the endpoints return JSON. All bitcoin amounts are in satoshis.

0 commit comments

Comments
 (0)