v0.2.0
Changelog
-
Descriptor based tracking! ✨🎉 (#1)
You can now specify output script descriptors to track via
--descriptor <descriptor>
. Descriptors are also used internally to represent user-provided--xpub
s.The HTTP API was updated to be fully descriptor-based. Wallets and wallet origins are now identified by the descriptor checksum, addresses have descriptors associated with them, and a new
bip32_origins
field is available based on the descriptor origin information. -
Support for Electrum multi-signature wallets (#60)
For a manual server setup, this requires using the
sortedmulti()
descriptor. For example, for a 2-of-3 wallet:sortedmulti(2,xpub1...,xpub2...,xpub3...)
.With the Electrum plugin, this should Just Work™.
-
Alpha release of
libbwt
(#64), a C FFI interface for managing the bwt servers, and ofnodejs-bwt-daemon
(#65), a nodejs package that wraps it. -
Support non-wallet transactions in
blockchain.transaction.get
/GET /tx/:txid/hex
(requires txindex and no pruning) -
Emit wallet rescan and blockchain sync progress updates (via mpsc, ffi and the console)
-
Support binding on ephemeral port (e.g.
--http-addr 127.0.0.1:0
) (#63) -
Reduce the number of dependencies (#61)
-
Shutdown cleanly, via
SIGINT
/SIGTERM
for CLI or a custom signal for library users (#62, #66) -
HTTP: Alias
GET /txs/since/0
asGET /txs
-
Fix
blockchain.scripthash.listunspent
/Query::list_unspent
to return an empty set instead of erroring when there's no history. -
Electrum: Fix
mempool.get_fee_histogram
(5af7bfc) -
Upgrade to rust-bitcoin v0.25, rust-miniscript v4.0.0 and rust-bitcoincore-rpc v0.12
Breaking CLI changes:
-
The
-d
CLI option was changed to mean--descriptor
instead of--bitcoind-dir
(which is now available as-r
). -
Renamed
--http-server-addr
to--http-addr
and--electrum-rpc-addr
to--electrum-addr
-
The CLI now accepts a single
--rescan-since
timestamp instead of a separate one for each descriptor/xpub. -
The separator for environment variables with multiple values is now
;
instead of,
.
For example:DESCRIPTORS="wpkh(xpub../0/*);wpkh(xpub../1/*)"
Downloads
Full Server 1 | Electrum Server 2 | Electrum Plugin 3 | |
---|---|---|---|
Linux | 📥 Download | 📥 Download | 📥 Download |
macOS | 📥 Download | 📥 Download | 📥 Download |
Windows | 📥 Download | 📥 Download | 📥 Download |
ARMv7 | 📥 Download | 📥 Download | 📥 Download |
ARMv8 | 📥 Download | 📥 Download | 📥 Download |
1 Includes Electrum RPC, HTTP API and WebHooks support (learn more) 2 Includes Electrum RPC support only (learn more) 3 Plugin with an embedded RPC server - hot wallets are unsupported (learn more) |
Installation
Installation instructions are available on the README.
Verifying signatures
The releases are signed by Nadav Ivgi (@shesek). The public key can be verified on keybase, github, twitter and HN. The signature can be verified as follows (replace x86_64-linux
with your download):
# Download package
$ wget https://github.com/shesek/bwt/releases/download/v0.2.0/bwt-0.2.0-x86_64-linux.tar.gz
# Fetch signing key
$ gpg --keyserver keyserver.ubuntu.com --recv-keys FCF19B67866562F08A43AAD681F6104CD0F150FC
# Verify signature
$ wget -qO - https://github.com/shesek/bwt/releases/download/v0.2.0/SHA256SUMS.asc \
| gpg --decrypt - | grep ' bwt-0.2.0-x86_64-linux.tar.gz$' | sha256sum -c -
You should see Good signature from "Nadav Ivgi <[email protected]>" ... Primary key fingerprint: FCF1 9B67 ...
and bwt-0.2.0-x86_64-linux.tar.gz: OK
.
Reproducible builds
The builds are fully reproducible.
You can verify the checksums against the v0.2.0 builds on Travis CI: https://travis-ci.org/github/shesek/bwt/builds/745668826
See more details here.