tag:github.com,2008:https://github.com/bwt-dev/bwt/releases Tags from bwt 2021-03-24T23:45:59Z tag:github.com,2008:Repository/263651969/v0.2.4 2021-03-24T23:50:08Z v0.2.4 <p>- Allow specifying an explicit script type for xpubs using `-x &lt;xpub&gt;…</p> <p>…:wpkh`, `-x &lt;xpub&gt;:shwpkh` or `-x &lt;xpub&gt;:pkh`.</p> <p>- Fix `blockchain.block.headers` sending wrong number of headers (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/pull/87">#87</a>, thanks <a class="user-mention notranslate" href="https://github.com/stevenroose">@stevenroose</a>!)</p> <p>- Check testmempoolaccept prior to custom broadcast (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/80">#80</a>)</p> <p>- Dependency updates and various small enhancements</p> shesek tag:github.com,2008:Repository/263651969/v0.2.3 2021-03-17T04:02:43Z v0.2.3 <p>- New `--prune-until &lt;target&gt;` option to automatically prune the chai…</p> <p>…n up to the given target (height, unix timestamp or YYYY-MM-DD formatted date)</p> <p> Require configuring bitcoind with `prune=1` to allow manual pruning via the RPC.</p> <p>- New `--no-wait-sync` option to allow importing addresses without waiting for bitcoind to finish syncing first</p> <p> Useful for tracking wallets during the IBD of a pruned node, so transactions could be indexed before the blocks get pruned.</p> <p>- Fix compatibility with the upcoming v0.22 Bitcoin Core release (<a class="issue-link js-issue-link" href="https://github.com/sparrowwallet/sparrow/issues/67#issuecomment-791522237">sparrowwallet/sparrow#67 (comment)</a>)</p> <p>- HTTP: Set the `WWW-Authenticate` header to make logging-in possible via web browsers</p> <p>- Implement an [fd-based daemon readiness notification mechanism](<a href="https://skarnet.org/software/s6/notifywhenup.html">https://skarnet.org/software/s6/notifywhenup.html</a>), enabled with `FD_NOTIFY=&lt;fd&gt;`</p> <p>- Fix whitepaper extractor</p> <p>- UX touchups for progress indicator, welcome banner and logs</p> <p>- Allow setting `UNIX_LISTENER_MODE` to control permissions for the unix socket notification listener</p> <p>- Allow setting `NO_REQUIRE_ADDRESSES` as an env variable</p> <p>Breaking CLI changes:</p> <p>- The Electrum SOCKS5-based authentication needs to be explicitly enabled with `--electrum-socks-auth`, <br /> in addition to enabling the `--auth-*` options. By default, authentication will only be enabled for <br /> the HTTP API server.</p> shesek tag:github.com,2008:Repository/263651969/v0.2.2 2021-01-29T02:39:45Z v0.2.2 <p>- [Authentication support](doc/auth.md) for the Electrum and HTTP API…</p> <p>… servers (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/70">#70</a>)</p> <p>- Compatibility with Bitcoin Core v0.21</p> <p>- Support for Signet</p> <p>- New `GET /bitcoin.pdf` HTTP API endpoint for extracting the Bitcoin whitepaper from the block chain <br /> (see <a href="https://twitter.com/shesek/status/1352368296553836544">https://twitter.com/shesek/status/1352368296553836544</a>)</p> <p>- New `--create-wallet-if-missing` option to ease the creation of a designated bitcoind wallet (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/76">#76</a>)</p> <p>- Docker: Multi-arch images for amd64, arm32v7 and arm64v8 (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/79">#79</a>)</p> <p>- Indexer: Fix detection of conflicted mempool transactions</p> <p>- Support setting boolean options using environment variables <br /> (`FORCE_RESCAN`, `CREATE_WALLET_IF_MISSING`, `ELECTRUM_SKIP_MERKLE`, `NO_STARTUP_BANNER` and `VERBOSE`)</p> <p>- Accept wildcard envirnoment variables for options that accept multiple values <br /> (`XPUB_*`, `DESC_*`/`DESCRIPTOR_*` and `ADDRESS_*`)</p> <p>- Upgrade to rust-bitcoin v0.26.0, rust-miniscript v5.0.1 and bitcoincore-rpc v0.13.0</p> shesek tag:github.com,2008:Repository/263651969/v0.2.1 2021-01-14T13:18:54Z v0.2.1 <p>- Migrated to the [<a class="user-mention notranslate" href="https://github.com/bwt-dev">@bwt-dev</a>](<a href="https://github.com/bwt-dev">https://github.com/bwt-dev</a>) github org a…</p> <p>…nd split up into:</p> <p> [bwt](<a href="https://github.com/bwt-dev/bwt">https://github.com/bwt-dev/bwt</a>), [bwt-electrum-plugin](<a href="https://github.com/bwt-dev/bwt-electrum-plugin">https://github.com/bwt-dev/bwt-electrum-plugin</a>), [libbwt](<a href="https://github.com/bwt-dev/libbwt">https://github.com/bwt-dev/libbwt</a>), [libbwt-jni](<a href="https://github.com/bwt-dev/libbwt-jni">https://github.com/bwt-dev/libbwt-jni</a>) and [libbwt-nodejs](<a href="https://github.com/bwt-dev/libbwt-nodejs">https://github.com/bwt-dev/libbwt-nodejs</a>).</p> <p>- Java Native Bindings for `libbwt` (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/73">#73</a>)</p> <p>- Support for tracking standalone addresses (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/14">#14</a>)</p> <p> Using `--address &lt;address&gt;` or `--address-file &lt;path&gt;`.</p> <p>- New config options: `force_rescan` (<a class="commit-link" href="https://github.com/bwt-dev/bwt/commit/9e7ccbeb91cba5245f80e44eaa206d9561549010"><tt>9e7ccbe</tt></a>), `setup_logger` (<a class="commit-link" href="https://github.com/bwt-dev/bwt/commit/35fc49fdcd731034f1fd0528585ea7e930b87f38"><tt>35fc49f</tt></a>) and `require_addresses` (<a class="commit-link" href="https://github.com/bwt-dev/bwt/commit/162790d755816cd59f5a1cd0d77961688f176eba"><tt>162790d</tt></a>)</p> <p>- Gracefully wait for bitcoind to warm-up (<a class="commit-link" href="https://github.com/bwt-dev/bwt/commit/dec6d465b8c77968c565f454e8d2e754a56e6806"><tt>dec6d46</tt></a>)</p> <p>- Support for `android_logger` (<a class="commit-link" href="https://github.com/bwt-dev/bwt/commit/74b2b2f1b88363364abd164f5b42440b59d8c6e4"><tt>74b2b2f</tt></a>)</p> <p>- Scrub bitcoin authentication from logs (<a class="commit-link" href="https://github.com/bwt-dev/bwt/commit/c31def7290bdcc63fdda2769c3dbd89e4bbcb71b"><tt>c31def7</tt></a>)</p> <p>- Improved syncing/scanning progress updates (faba3f, <a class="commit-link" href="https://github.com/bwt-dev/bwt/commit/6e282fdaf00eea9bb378c1c9708456b127753b60"><tt>6e282fd</tt></a>, <a class="commit-link" href="https://github.com/bwt-dev/bwt/commit/fdd46f3ff3caa2eb659e25b9142e13a93622607b"><tt>fdd46f3</tt></a>, <a class="commit-link" href="https://github.com/bwt-dev/bwt/commit/5ba2a0be03ec5ea331c70574ccb7163739065712"><tt>5ba2a0b</tt></a>)</p> <p>- Indexer: Fix excessive importing/rescanning (<a class="commit-link" href="https://github.com/bwt-dev/bwt/commit/a20ae798b049f56c0ec7b5ad894533ff4896814f"><tt>a20ae79</tt></a>)</p> <p>- Indexer: Fix cache invalidation for spends lookups (<a class="commit-link" href="https://github.com/bwt-dev/bwt/commit/360eaee21d2f14c9d82d57561963071e606c6f99"><tt>360eaee</tt></a>)</p> <p>- Indexer: Fix handling of missing mempool entries (<a class="commit-link" href="https://github.com/bwt-dev/bwt/commit/e9b7511887cf7ff9712ebc422206df540b1b7036"><tt>e9b7511</tt></a>)</p> <p>- Electrum: Fix TCP listener not shutting down on shutdown signal (<a class="commit-link" href="https://github.com/bwt-dev/bwt/commit/5bd639ae2a20eda956dbc0cb5024dce1661320ed"><tt>5bd639a</tt></a>)</p> <p>- Docker/CI: Update to Rust v1.49 (<a class="commit-link" href="https://github.com/bwt-dev/bwt/commit/5bd639ae2a20eda956dbc0cb5024dce1661320ed"><tt>5bd639a</tt></a>)</p> <p>Breaking CLI changes:</p> <p>- The `--bare-xpub` option was removed. Use a descriptor instead.</p> shesek tag:github.com,2008:Repository/263651969/v0.2.0 2020-11-24T16:56:03Z v0.2.0 <p>- Descriptor based tracking! ✨🎉 (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/1">#1</a>)</p> <p> You can now specify output script descriptors to track via `--descriptor &lt;descriptor&gt;`. <br /> Descriptors are also used internally to represent user-provided `--xpub`s.</p> <p> The HTTP API was updated to be fully descriptor-based. Wallets and wallet origins <br /> are now identified by the descriptor checksum, addresses have descriptors associated with them, <br /> and a new `bip32_origins` field is available based on the descriptor origin information.</p> <p>- Support for Electrum multi-signature wallets (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/60">#60</a>)</p> <p> For a manual server setup, this requires using the `sortedmulti()` descriptor. <br /> For example, for a 2-of-3 wallet: `sortedmulti(2,xpub1...,xpub2...,xpub3...)`.</p> <p> With the Electrum plugin, this should Just Work™.</p> <p>- Alpha release of [`libbwt`](<a href="https://github.com/shesek/bwt/blob/master/doc/libbwt.md">https://github.com/shesek/bwt/blob/master/doc/libbwt.md</a>) (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/64">#64</a>), a C FFI interface for managing the bwt servers, <br /> and of [`nodejs-bwt-daemon`](<a href="https://github.com/shesek/bwt/tree/master/contrib/nodejs-bwt-daemon">https://github.com/shesek/bwt/tree/master/contrib/nodejs-bwt-daemon</a>) (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/65">#65</a>), a nodejs package that wraps it.</p> <p>- Support non-wallet transactions in `blockchain.transaction.get` / `GET /tx/:txid/hex` <br /> (requires txindex and no pruning)</p> <p>- Emit wallet rescan and blockchain sync progress updates (via mpsc, [ffi](<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/64">#64</a>) and the console)</p> <p>- Support binding on ephemeral port (e.g. `--http-addr 127.0.0.1:0`) (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/63">#63</a>)</p> <p>- Reduce the number of dependencies (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/61">#61</a>)</p> <p>- Shutdown cleanly, via `SIGINT`/`SIGTERM` for CLI or a custom signal for library users (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/62">#62</a>, <a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/66">#66</a>)</p> <p>- HTTP: Alias `GET /txs/since/0` as `GET /txs`</p> <p>- Fix `blockchain.scripthash.listunspent` / `Query::list_unspent` to return an empty set <br /> instead of erroring when there's no history.</p> <p>- Electrum: Fix `mempool.get_fee_histogram` (<a class="commit-link" href="https://github.com/bwt-dev/bwt/commit/5af7bfc62d7d98933b2d54fef74ba7e5bb6a01af"><tt>5af7bfc</tt></a>)</p> <p>- Upgrade to rust-bitcoin v0.25, rust-miniscript v4.0.0 and rust-bitcoincore-rpc v0.12</p> <p>Breaking CLI changes:</p> <p>- The `-d` CLI option was changed to mean `--descriptor` instead of `--bitcoind-dir` <br /> (which is now available as `-r`).</p> <p>- Renamed `--http-server-addr` to `--http-addr` and `--electrum-rpc-addr` to `--electrum-addr`</p> <p>- The CLI now accepts a single `--rescan-since` timestamp instead of a separate one for each descriptor/xpub.</p> <p>- The separator for environment variables with multiple values is now `;` instead of `,`. <br /> For example: `DESCRIPTORS="wpkh(xpub../0/*);wpkh(xpub../1/*)"`</p> shesek tag:github.com,2008:Repository/263651969/v0.2.0-rc.1 2020-11-21T14:57:53Z v0.2.0-rc.1 shesek tag:github.com,2008:Repository/263651969/v0.1.5 2020-10-05T18:02:09Z v0.1.5 <p>- Reproducible builds using Docker (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/51">#51</a>)</p> <p>- Pre-built binary releases for macOS (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/24">#24</a>) and ARMv7/v8 (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/19">#19</a>)</p> <p>- Electrum plugin: Compatibility with Electrum v4 — *except for lightning* which is <br /> [tricky with personal servers](<a class="issue-link js-issue-link" href="https://github.com/chris-belcher/electrum-personal-server/issues/174#issuecomment-577619460">chris-belcher/electrum-personal-server#174 (comment)</a>) (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/53">#53</a>)</p> <p>- Electrum: New welcome banner (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/44">#44</a>)</p> <p>- Scriptable transaction broadcast command via `--tx-broadcast-cmd &lt;cmd&gt;` (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/7">#7</a>)</p> <p> The command will be used in place of broadcasting transactions using the full node, <br /> which may provide better privacy in some circumstances. <br /> The string `{tx_hex}` will be replaced with the hex-encoded transaction.</p> <p> For example, to broadcast transactions over Tor using the blockstream.info onion service, you can use:</p> <p> ``` <br /> --tx-broadcast-cmd '[ $(curl -s -x socks5h://localhost:9050 <a href="http://explorerzydxu5ecjrkwceayqybizmpjjznk5izmitf2modhcusuqlid.onion/api/tx">http://explorerzydxu5ecjrkwceayqybizmpjjznk5izmitf2modhcusuqlid.onion/api/tx</a> -d {tx_hex} -o /dev/stderr -w "%{http_code}" -H "User-Agent: curl/7.$(shuf -n1 -e 47 58 64 68).0") -eq 200 ]' <br /> ```</p> <p> (Replace port `9050` with `9150` if you're using the Tor browser bundle.)</p> <p> h/t <a class="user-mention notranslate" href="https://github.com/chris-belcher">@chris-belcher</a>'s EPS for inspiring this feature! 🎩</p> <p>- Load bitcoind wallet automatically (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/54">#54</a>)</p> <p>- Electrum plugin: Fix hot wallet test (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/47">#47</a>)</p> <p>- Electrum: Fix docker image libssl dependency with the `http` feature (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/48">#48</a>)</p> <p>- Improve block download check on regtest (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/45">#45</a>, <a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/35">#35</a>)</p> <p>- HTTP API: Fix `GET /block/tip` (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/46">#46</a>)</p> <p>- HTTP API: Add `GET /banner.txt` (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/44">#44</a>)</p> <p>- Tests: Upgrade to Electrum v4</p> shesek tag:github.com,2008:Repository/263651969/v0.1.4 2020-09-26T03:36:52Z v0.1.4 <p>- Implement improved mempool tracking, including support for an "effe…</p> <p>…ctive feerate" metric that takes unconfirmed ancestors into account</p> <p> (calculated as `MIN(own_fee/own_vsize, (own_fee+ancestor_fee)/(own_vsize+ancestor_vsize))`).</p> <p> HTTP API: the [wallet transaction format](<a href="https://github.com/shesek/bwt#wallet-transaction-format">https://github.com/shesek/bwt#wallet-transaction-format</a>) now includes <br /> new `own_feerate`, `effective_feerate`, `bip125_replaceable` and `unconfirmed_parents` fields available for unconfirmed transactions.</p> <p> Electrum server: provide fee information for unconfirmed transactions using the effective feerate metric. <br /> This is unlike other Electrum server implementations, that report the direct own fee without regard to ancestors. (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/10">#10</a>)</p> <p>- Electrum server: Implement `--electrum-skip-merkle` to save some resources by not generating SPV proofs entirely, even when it's possible. (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/34">#34</a>)</p> <p>- Electrum plugin: Automatically enable `--skipmerklecheck` and `--electrum-skip-merkle`, for better out-of-the-box pruning support and to save some resources. (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/34">#34</a>)</p> <p>- Indexer: Use `listsinceblock` instead of `listtransactions`. This makes syncing more bandwidth-efficient and simplifies the implementation. (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/33">#33</a>)</p> <p>- Electrum server: Optimize dispatching notifications to subscribers.</p> <p>- Electrum server: Use height of -1 to indicate that a transaction has unconfirmed parents as its inputs. (<a class="issue-link js-issue-link" href="https://github.com/bwt-dev/bwt/issues/40">#40</a>)</p> <p>- Electrum plugin: Disable support for hot wallets.</p> shesek tag:github.com,2008:Repository/263651969/v0.1.3 2020-06-02T08:40:36Z v0.1.3 <p>- Electrum: Use dummy SPV proofs to support pruning with the `--skipm…</p> <p>…erklecheck` option.</p> shesek tag:github.com,2008:Repository/263651969/v0.1.2 2020-06-22T00:13:48Z v0.1.2 <p>- Electrum plugin: Restore the previous `oneserver` setting when the …</p> <p>…plugin is disabled,</p> <p> to prevent users from inadvertently connecting to public Electrum servers with this setting still on.</p> <p>- Electrum plugin: allow specifying additional custom CLI arguments using the GUI</p> shesek