Zap is a free Lightning Network wallet focused on user experience and ease of use, with the overall goal of helping the cryptocurrency community scale Bitcoin and other cryptocurrencies.
Zap is built on top of LND, uses a Node.js proxy and, Electron + React + Redux for the UI.
Join us on slack to discuss development, design and product
For now Zap assumes you are running BTCD, LND and Zap Node.js (will change soon). Please see installation for LND and installation for Zap Node.js to get that setup first
- Note: requires a node version >= 7 and an npm version >= 4.
- If you have installation or compilation issues, please file a Github issue
First, clone the repo via git:
git clone https://github.com/LN-Zap/zap-desktop.git
And then install dependencies with yarn
$ cd zap-desktop
$ yarn
Then to start it:
$ npm run dev
$ npm run test
$ npm run lint
Please see the contributing guide
Join us on slack before tackling a todo to avoid duplicate work. This list will be updated daily to show what todos are being worked on
- Move Node.js proxy to ipcRenderer (roasbeef recommendation)
- Use two package.json structure
- General refactor (I know this TODO sucks but the code is a bit sloppy still)
- Configurable BTCD + LN node connection (do not assume/rely on localhost)
- Error handling
- More tests
- List on-chain transactions
- Ability to search filter for payments
- Websocket handling for transactions
- Websocket handling for sendpayment
- Channel notifications
- Payment notifications
- Transaction notifications
- Generate newaddress for the wallet deposit
- Litecoin UI
- Settings route
- describegraph UI to see current status of the Lightning Network
- Support other currencies (EUR, JPY, etc)
- Error handling
- On-chain transactions list
- Notifications
- Litecoin UI (pick out a silver main color)
- describegraph UI to see current status of the Lightning Network
A good product not only has good software tests but also checks the quality of the UX/UI. Putting ourselves in the shoes of a user will be very important for Zap.
If you see issues please report with screenshots and/or how to reproduce the bug/error
- Mac
- Windows
- Linux
User wants to connect to a peer
User wants to open a channel
User wants to create a payment request
User wants to make a payment
User wants to view the application in USD
User wants to search for a payment request