noun \ ˈspärk \: a short bright flash of electricity between two points
Spark is a brand new web-based GUI, Electron app (for Linux, Windows, and macOS), and mobile app (for Android, and soon for iOS) from independent developer Nadav Igvi that uses
c-lightning as its backend.
With Spark, bitcoins are easily spent and received over the Lightning Network with a simple interface. A user can now run their own fully validating Bitcoin node, their own
c-lightningnode, and their own Spark GUI to use the Lightning Network as trustlessly as possible.
Some of Spark’s features include:
- Simple & minimalistic interface
- Purely off-chain Lightning Network transactions using
c-lightningas a backend
- Near-zero configuration
- Progressive Web App
- Cordova mobile and Electron desktop builds
- Personalizable themes
- Automatic self-signed certificates
- LetsEncrypt integration
- Tor hidden service (v3) support
- Code-signing and reproducible .
Since Spark uses self-signed certificates by default when binding to an IP address other than
localhost, web browsers will present a warning. Fortunately, Spark supports LetsEncrypt CA-signed certificates. All that is required is a registered domain.
To register a certificate with LetsEncrypt:
$ spark-wallet --host example.com --letsencrypt email@example.com
More information on LetsEncrypt integration can be found here.
Spark also has support for creating Tor Hidden Service v3
.onion addresses which have some advantages versus having to purchase a domain and setup port forwarding for clearnet usage.
.onion addresses are self-authenticating and are pinned to your server’s public key, and also serve to authenticate the user accessing Spark since access to the server is only possible if the user knows the
To start Spark to run as a Tor Hidden Service v3, simply set
--onion on the command line:
$ spark-wallet --onion
Spark will automatically install Tor when first running with
--onion, and present the v3 address in the command line output.
Desktop Electron app:
The Spark Electron app can simply be downloaded here as an
.zip, or Windows installer / portable, and executed, installed, or decompressed. The Electron app bundles the Spark server-side component, so the user only has to input connection details for their
Mobile Android (Cordova) app:
First, download the
.apk from here and install it on your device, then run it. A configured Spark server (see the prior section on installing Spark to be accessible remotely) is required for the Cordova app to work correctly.
When the Cordova app is first run, the user must first pair their device with the remotely-accessible Spark server. A quick way to do this is to run Spark with
-Q, which will generate and print the access key and
.onion address of your Spark server. The QR code can then be scanned by the Cordova app to make inputting the address and access key much easier.
Once paired with a Spark server, a user can then transact bitcoins over the Lightning Network!