An easy-to-use cross platform lightning wallet
N.B. The app is under development and the code has not yet been audited. It's currently configured to run on testnet.
The app comes for two threat models:
-
Pocket Money: prebuilt and signed releases with auto update (recommended for most users).
-
Tin Foil Hat: if you'd rather build it yourself and do without auto updates, see the instructions below.
After installing the app, head on over to the testnet faucet to send some test BTC to your wallet.
See the ToDo (next release)
column on our project board. Issues that are easy to pick up for outside contributors are labeled help wanted
.
git clone https://github.com/lightningnetwork/lnd $GOPATH/src/github.com/lightningnetwork/lnd
cd $GOPATH/src/github.com/lightningnetwork/lnd
make && make install tags=experimental
git clone https://github.com/btcsuite/btcd $GOPATH/src/github.com/btcsuite/btcd
cd $GOPATH/src/github.com/btcsuite/btcd
glide install
go install . ./cmd/...
Then start by cloning this git repo and go inside the project folder to run the following commands:
npm install
npm test
To build the UI style guide
npm run storybook
To start the app in development mode (simnet):
npm run electron-dev
Running in development mode can allow you to run in full node mode instead of the default neutrino mode, and will also allow you to run in simnet node for testing. The app will use it's own lnd data/lnd
dir and does not share state with other lnd installations on your system. See setup local cluster on how to set up your simnet cluster for development.
To build the packaged version of the app e.g. for macOS run:
cp $GOPATH/bin/lnd ./assets/bin/darwin
npm run electron-pack
The packaged app will then be available in the dist
directory. The packaged version of the app will run on Bitcoin testnet.
To run the packaged version of the app e.g. for macOS run:
./dist/mac/Lightning.app/Contents/MacOS/Lightning
The app is configured for testnet by default but you can opt-in to mainnet if you have a btcd node running. Be aware that this is currently still experimental:
./dist/mac/Lightning.app/Contents/MacOS/Lightning --bitcoin.mainnet --bitcoin.node=neutrino --neutrino.connect=127.0.0.1 --autopilot.active
Start btcd in a separate terminal session and wait until it's fully synced (can take over a day). Remove the --testnet
flag for mainnet:
btcd --testnet --txindex --rpcuser=kek --rpcpass=kek
To run the packaged version of the app e.g. for macOS run (set --bitcoin.mainnet
for mainnet):
./dist/mac/Lightning.app/Contents/MacOS/Lightning --bitcoin.testnet --btcd.rpcuser=kek --btcd.rpcpass=kek
Start bitcoind in a separate terminal session and wait until it's fully synced (can take over a day). Remove the -testnet
flag for mainnet:
bitcoind -testnet -txindex=1 -rpcuser=kek -rpcpassword=kek -rpcbind=localhost -zmqpubrawblock=tcp://127.0.0.1:28332 -zmqpubrawtx=tcp://127.0.0.1:28333
To run the packaged version of the app e.g. for macOS run (set --bitcoin.mainnet
for mainnet):
./dist/mac/Lightning.app/Contents/MacOS/Lightning --bitcoin.testnet --bitcoin.node=bitcoind --bitcoind.rpcuser=kek --bitcoind.rpcpass=kek --bitcoind.zmqpubrawblock=tcp://127.0.0.1:28332 --bitcoind.zmqpubrawtx=tcp://127.0.0.1:28333
Lnd data and logs are written to the following locations in production:
- Linux:
~/.config/lightning-app/lnd
- OSX:
~/Library/Application Support/lightning-app/lnd
- Windows:
%USERPROFILE%\AppData\Roaming\lightning-app\lnd