This adds a Qt Quick Controls 2 based UI meant for mobile devices. This is work-in-progress meant to gauge interest, related to but not dependent on #16110, i.e. one can run the “mobile” GUI on desktop as well. You should install qtdeclarative5-dev
and qtquickcontrols2-5-dev
in addition to usual Qt dependencies and configure with --enable-mobile-gui
.
As a proof-of-concept this PR aims to be light, about 400 lines of C++ code that is meant to be a drop-in replacement for bitcoingui
with mostly the same public functions and a couple of #ifdefs in bitcoin.cpp
. There is also an addition of roleNames
to the transactiontablemodel
to make it compatible with QML stuff.
Replacement class bitcoinmobilegui
hooks up to the exact same signals, models and controllers as bitcoingui
. At the moment the mobile GUI presented to the user is dead simple (no multi-wallet, no advanced options) but it has been tested to allow the user to send and receive.
My rationale for making this is the fact that in a couple years phones will be powerful enough to run Core without much hassle. If we add some platform code for
- verifying transactions only while in foreground or charging (to preserve battery)
- enabling phone to phone transactions (NFC or bluetooth for enhanced privacy)
- providing services to other local apps (think Lightning wallets, they could get the blockchain state from Core, no wasting of resources)
and release an official Android package I believe that this has the potential to put a full node in the pockets of millions - empowering users and improving the network.