Weekly Edition for Thursday, Dec 27

Visual Identification of Payee Node Id

Checking the payee node id in the send dialog is always troublesome, the long hex value can be as confusing as typing a bitcoin address yourself. Just like every other thing in Bitcoin, a visual representation of the payee node id might be helpful.

There were suggestions on the Lightning dev mailing list that called lighting user-facing wallets to add an icon identifier for the id so that we can check if its the correct one, after all we as humans are much better at remembering visual cues that random long hex values, there were counter proposals that suggested using Chernoff Faces, as humans are best fit in recognizing small changes in faces and another that suggested using strings of seperate words, like BIP 39 seeds, that are easier to recognize, or memorize, than random hex values.

Data Piggybacking Within the Payment Preimage for Offline Payments in Wallets
Piggybacking information within payment_preimage is a suggestion by developer Jose Femenias, it is used to enable sharing a common secret seed between an offline device and an online LN node, both the devices calculate the same per_transaction_secret, the node encrypts the PIN within the payment_preimage and then when the LN wallet receives the payment_preimage it decrypts it showing the PIN, this is provided as proof of payment to the offline device.
Unspecified Bolt Protocol Extensions

Often times nodes need to communicate with each other what their implementation is, looking for specific features that are only in select implementations, the desired feature is a question of node implementation.

A concept of Unspecified protocol extensions has been proposed, they are unspecified as they are not part of the BOLT specifications, each extension must have a set of random 20-byte identifier with type bigger than a certain number. Using the concept of current extension, any extensions that are unidentified by a node will not be recognized, while if the node’s implementation identifies this unspecified extension, both nodes can continue communications knowing that they have the same set of extra features.

Releases

project release date
zap-desktop v0.3.1-beta

Bug Fixes

  • wallet: display correct amount on send button (bb7328d)
  • wallet: fix lightning/lndconnect links (095c62b)
  • app: ensure full app shutdown on quit (98e1797), closes #1156
2018-12-22
zap-desktop v0.3.0-beta

Bug Fixes

  • activity: ensure activity dates are correct (2bb7c79), closes #1120
  • activity: ensure transaction amount shows (efd38c3)
  • add-channel: dont remove input text (8949572)
  • app: ensure single app instance (e3c13de), closes #229
  • boot: issue with fetching user settings (9b7b972)
  • boot: only save wallet after unlocking (1127375)
  • channels: fetch balance on receiving channels (3006ae4), closes #939
  • channels: handle suggested nodes load failure (5622952), closes #392
  • channels: refresh channel details on update (91a5532), closes #724
  • deps: pin dependencies (b5e2480)
  • deps: pin dependency @grpc/grpc-js to 0.3.2 (#994) (2da759a)
  • deps: update dependency downshift to v3.1.5 (0c7a477)
  • deps: update dependency downshift to v3.1.6 (#1064) (33e997d)
  • deps: update dependency downshift to v3.1.7 (#1089) (2173194)
  • deps: update dependency electron to v3.0.10 (#976) (0127c04)
  • deps: update dependency electron to v3.0.11 (#1063) (a698b76)
  • deps: update dependency electron to v3.0.12 (#1095) (68189c4)
  • deps: update dependency electron to v3.0.13 (#1110) (6cffbfd)
  • deps: update dependency informed to v1.10.12 (#1023) (feff0d1)
  • deps: update dependency informed to v1.10.9 (#977) (f8c3281)
  • deps: update dependency rc-menu to v7.4.20 (#978) (a90459c)
  • deps: update dependency react-intl-redux to v2.1.0 (#1094) (3e005b1)
  • deps: update dependency react-redux to v5.1.1 (#980) (9b631cc)
  • deps: update dependency react-spring to v6.1.10 (#981) (b27f252)
  • deps: update dependency react-spring to v7 (#1071) (84ca905)
  • deps: update dependency react-spring to v7.1.0 (f189277)
  • deps: update dependency react-spring to v7.1.3 (#1086) (9e23bb5)
  • deps: update dependency redux-electron-ipc to v1.2.0 (#983) (68de547)
  • deps: update dependency split2 to v3.1.0 (#1092) (56a599b)
  • deps: update dependency styled-components to v4.1.2 (#987) (b3c874d)
  • deps: update dependency styled-components to v4.1.3 (#1105) (f4397e7)
  • deps: update dependency styled-reset to v1.6.1 (#988) (9785e66)
  • deps: update dependency styled-reset to v1.6.2 (#1034) (954cdae)
  • deps: update dependency styled-reset to v1.6.3 (#1100) (fb3ad21)
  • deps: update dependency validator to v10.9.0 (#989) (4286dcd)
  • deps: update react monorepo to v16.6.3 (#990) (57d5c66)
  • electron: addlow DEBUG_PROD in production builds (ab8a55a)
  • electron: clean up and fix app quit process (9db0c98)
  • electron: include preload.js in production build (cc25ad6), closes #1107
  • error: ensure global error appears on top (97243d1)
  • form: ensure amount > 0 when required (a8c5a2d)
  • home: display wallet name consistently (a8b91f7), closes #1011
  • home: do not mutate autopilot allocation (df51d40)
  • start app in onboarding state (dcb61f6), closes #1108
  • home: redirect to home after deleting wallet (4190fd1), closes #1012
  • home: show connection errors (a77cab2)
  • i18n: extract-messages for all supported languages (655ceb0)
  • i18n: notification translatability (05f3d08)
  • invoice: include route hints for local nodes (27dc4cd)
  • lnd: show error on problem connecting to lnd (0660801)
  • lnd: use static ports for production builds (1a5da16)
  • logout: reset app state on logout (0577b59), closes #944
  • main: fix url parsing issue with lightning links (a9da2b0)
  • network: always show channel balances (f63407d)
  • notifications: disable channel notifications (9af8a89), closes #879
  • onboarding: launch onboarding if no wallets (417d6ff)
  • onboarding: reset onboarding each time its started (130521e)
  • pay: allow sending without route info (9807dec), closes #1048
  • pay: ensure lightning: links validate (d0e128d), closes #1006
  • readme: update screenshot to current designs (#1009) (6ed22fc)
  • redux: dont mutate network data (f6de9a6)
  • seed: only highlight seed after success (ad0ea70), closes #938
  • state: do not mutate redux state (e5ee37d), closes #1120
  • storybook: fix storybook errors (aa97d38)
  • storybook: set fetchingSeed when generating seed (53a2eb3)
  • strings: typo & grammar fix (fcc67cf)
  • styles: clean up and standardize buttons (06b1d27), closes #830
  • styles: clean up and standardize icons (e595acb)
  • styles: clean up global error style (ae19294)
  • sync: ensure grpc active before leaving sync (20c8d96)
  • sync: progress bar only consider remaining sync (674cf81)
  • syncing: add link to support site when resyncing (5d620e6)
  • ticker: use Coinbase API to fetch fiat ticker (227afbc), closes #815
  • ui: autohide scrollbars (95b352c)
  • ui: disable spellcheck in payreq fields (76e7eee)
  • ui: ensure settings menu shows on top (8325385)
  • ui: improve tooltip styles (1005210), closes #966
  • ui: improve transitions in pay flow (4431739)
  • ui: make Range component more configurable (cb518fd)
  • ui: only highlight field once touched (8c2f417)
  • ui: strip trailing zeros from currency values (dd7115d)
  • load wallet settings from store (e2bbd66), closes #1108
  • utils: dont pass non-whole num to toBitcoin() (be14d3b)
  • wallet: add all new invoices to invoice list (a24d459), closes #912
  • wallet: determine currency before display (2424ee1)
  • wallet: display wallet name in settings menu (088d4d1)
  • wallet: ensure describe network on timer (c0922a4)
  • wallet: ensure wallet info saves correctly (91488d9)
  • wallet: improve fee estimate presentation (a577cdf)
  • wallet: improve fee estimate presentation (6e7018f)
  • wallet: increase invoice fetch count to 1000 (fc8e74b), closes #911
  • wallet: load suggested nodes on Root mount (1185a43), closes #943
  • wallet: save seed in wallet import (2c68ec6), closes #1117
  • wallet: set chain / network from node info (3cfddc9)
  • do not assume chain on boot (e282bda)
  • wallet: support deleting invalid wallet (4f65708)
  • wallet: ucfirst error strings (c218e6a)
  • reduce main bundle size (exclude locale data) (1910da5)
  • webpack: use cross platform path.resolve (d34fcea)
  • windows: ensure yarn dev works on windows (1eda172)

Features

  • crypto: add utility methods for lnd data (b18d08b)
  • grpc: use @grpc/grpc-js grpc implementation (be7ed5b), closes #951
  • home: add logout link in wallet menu (23c897f)
  • home: disable submit when unlocking wallet (118438e)
  • home: display wallet config on settings page (2dfecff)
  • home: implement new Home screen (25d3b36)
  • home: implement No Wallets screen (d5b4340)
  • i18n: add i18n support to storybook (64c8b0c)
  • i18n: multilingual support for UI components (b850cd8)
  • invoice: support zero amount invoices (f9c272d), closes #1046
  • litecoin: ability to detect onchain addresses (86fbdc7)
  • litecoin: add litecoin block explorer links (fe0afb6)
  • litecoin: patch bolt11 to support litecoin (3a103c7)
  • litecoin: remove bitcoin specific language (69f358b)
  • litecoin: support litecoin currency conversions (b18c5a8)
  • lnd: enable alternate btcd host (92a7854)
  • lnd: log and display queryroute errors (6977f2b)
  • lnd: support numRoutes in queryroutes (a5d2e0a)
  • lnd: update lnd to v0.5-beta-247-g68d96488 (b2cd906)
  • lnd: update lnd to v0.5-beta-302-gb6009850 (b7bb5c1)
  • lndconnect: basic support for lndconnect links (d9ea0ff)
  • lndconnect: initiate lndconnect from home page (66ee212)
  • migration: import wallets from fs (bc2aba6)
  • modal: add help link in modal header (998ecc4)
  • network: fetch node data on backoff schedule (d344425)
  • network: show connected peers first (4b0d156)
  • onboarding: allow setting wallet name (140adc9), closes #1025
  • onboarding: implement new Onboarding process (f445c53)
  • rest: enable LND restlisten (#996) (7a69af1)
  • settings: use indexedDb for persistent data (ccf315b)
  • storybook: build our storybook cover page (2d21e3a)
  • ui: add Background component (2a7780b)
  • ui: add Bar component (ea646fd)
  • ui: add Button component (4e4ef61)
  • ui: add Dropdown component (b552aa6)
  • ui: add Fiat/Crypto amount field components (0363599)
  • ui: Add Form component (6f9ff91)
  • ui: add Form components (524627d)
  • ui: add Header component (5386687)
  • ui: add Icon component (7a393d3)
  • ui: add LightningInvoiceInput component (e64314c)
  • ui: add Menu components (cfd9f7a)
  • ui: add Modal component (fd79879)
  • ui: add Notification component (dd3adec)
  • ui: add Page/MainContent/Sidebar components (81f8b2d)
  • ui: add Panel component (0135118)
  • ui: add Pay components (fcafdec)
  • ui: add QRCode component (54c790d)
  • ui: add Request components (967a03d)
  • ui: add simplified Countdown component (01e2bd7)
  • ui: add Spinner component (ab68b9a)
  • ui: add status indicator to settings menu (aa70a99)
  • ui: add StatusIndicator component (1f38534)
  • ui: add storybook (3100d29)
  • ui: add theme modules (32bba0d)
  • ui: Add Truncate component (2d9493b)
  • ui: add Typography components (eddd3cb)
  • ui: add warning about keeping seed private (d0cf768), closes #522
  • ui: add Wizard component (5c28b72)
  • ui: enhancements and fixes for UI components (d5ce448)
  • ui: integrate new request forms (b2aa390)
  • util: bolt11 wrapper to add defaults (9373984)
  • ux: auto focus on inputs in startup flow (7af24d1)
  • wallet: apply fastest fee for onchain txs (210ceae)
  • wallet: apply fee limit for offchain txs (62c7f1a)
  • wallet: delete wallet from filesystem (9d33a0e)
  • wallet: implement new pay forms (2b80ae7)
  • wallet: require confirm before deleting wallet (3779835)
  • wallet: show sending payments in activity list (dc632db)
  • wallet: use blockstream.info block explorer (05a29a6), closes #901
  • wallets: ability to reset autopilot settings (f9661ec)
  • add Radio and RadioGroup components (a2c072e)
  • wallets: add support for wallet names (e01645b)
  • update lnd to v0.5.1-beta (05eff40)

Performance Improvements

  • boot: open wallet as soon as grpc active (c082f8a)
  • boot: reduce duplicate grpc calls (9a90c7a)
  • devtools: strip large data from devtools (7121a8e)
  • grpc: debounce channel fetching (8e0fe7c)
  • grpc: throttle calls to fetch channels (44fa70c)
  • init: initialise wallets from db early (3f27295)
  • redux: don’t store channel edges (9a0ae0a)
2018-12-21
bitcoin v0.17.1

Bitcoin Core version 0.17.1 is now available from:

https://bitcoincore.org/bin/bitcoin-core-0.17.1/

For the release notes please see the git repository:

https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-0.17.1.md

Preferably use the above download link, not the links provided by GitHub to download the source tarball, as the release tarballs are generated deterministically whereas GitHub’s are not.

2018-12-25
BitcoinArmory v0.96.5 2018-12-24
trezor-android v2.0.10 2018-12-21
WalletWasabi v1.0.5

Summary

This is a hotfix. With the v1.0.4 release you could only send whole coins and when you wanted to send arbitrary amounts an “invalid amount” warning prevented it. This release fixes it.

Newbie Guide

While setting up Wasabi is straightforward, even the Linux wizard with the longest beard can get stuck on the most basic tasks. In that case, take a look at the Installation Instructions guide.

Pro Guide

If you want to build Wasabi from source code or update the source code check out these instructions.

FAQ

  • Where is Wasabi’s working directory located? Configuration, wallet and similar files can be found in %appdata%\WalletWasabi folder on Windows and in ~/.walletwasabi folder on Linux/OSX.
  • Can I use my own Tor instance, instead of Wasabi’s built in one? If you already have Tor, and it is running, then Wasabi will try to use that first, if it is not running, then Wasabi will use its built-in Tor. If you are running a Tor daemon not on the default port, then you can configure it in Wasabi’s Tools/Setting menu. If Wasabi is using your Tor daemon, then bear in mind that some Linux distributions’ package repositories ship with out of date Tor. In that case, either remove or shut down that Tor of yours or make sure it’s not out of date: Check Tor version: tor --version. If it’s not at least 0.3.2.2, then see this writeup on how to update it.
  • Why are the binary sizes so big? Wasabi is using client side filtering and these filters must be synced before using the wallet. The size of these filters are currently about 90MB. These filters are included with the binaries to avoid initial wallet syncing.
  • Requirements? x64, linux, >win7, >osx.10.12.

Release Notes

2018-12-25
WalletWasabi v1.0.4

Summary

Main improvements in this release is the comprehensive refactoring of fee estimation both on the backend and frontend. We are now also shipping macOS .dmg installers.

Newbie Guide

While setting up Wasabi is straightforward, even the Linux wizard with the longest beard can get stuck on the most basic tasks. In that case, take a look at the Installation Instructions guide.

Pro Guide

If you want to build Wasabi from source code or update the source code check out these instructions.

FAQ

  • Where is Wasabi’s working directory located? Configuration, wallet and similar files can be found in %appdata%\WalletWasabi folder on Windows and in ~/.walletwasabi folder on Linux/OSX.
  • Can I use my own Tor instance, instead of Wasabi’s built in one? If you already have Tor, and it is running, then Wasabi will try to use that first, if it is not running, then Wasabi will use its built-in Tor. If you are running a Tor daemon not on the default port, then you can configure it in Wasabi’s Tools/Setting menu. If Wasabi is using your Tor daemon, then bear in mind that some Linux distributions’ package repositories ship with out of date Tor. In that case, either remove or shut down that Tor of yours or make sure it’s not out of date: Check Tor version: tor --version. If it’s not at least 0.3.2.2, then see this writeup on how to update it.
  • Why are the binary sizes so big? Wasabi is using client side filtering and these filters must be synced before using the wallet. The size of these filters are currently about 90MB. These filters are included with the binaries to avoid initial wallet syncing.
  • Requirements? x64, linux, >win7, >osx.10.12.

Release Notes

2018-12-23

RFC

type rfc # title date status
slip slip-0044 update slip-0044 ,Please add IOST 2018-12-26 Merged
slip X Add Kin 2018-12-26 Merged
bip bip-0039 Add brazilian portuguese wordlist to BIP39 2018-12-25 Closed
bip X add Number related wordlists 2018-12-25 Update
slip slip-0039 SLIP-0039: Suggestions on SSS Mnemonics 2018-12-24 Update
slip X Add CENNZ 2018-12-23 Merged
slip X ADD 273 DMTC 2018-12-22 Merged
slip X Added Dinero 2018-12-21 Merged
slip X Add Bytecoin 2018-12-21 Merged