/zap-desktop

Lightning Network desktop application

Primary LanguageJavaScriptMIT LicenseMIT

screenshot
Zap

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, and uses Electron + React + Redux for the UI.

Join us on slack to discuss development, design and product

Requirements

  • Node.js version >= 8, npm version >= 5 and yarn

Install

If you have installation or compilation issues, please file a Github issue or ping us in Slack

After installing the above requirements, clone the repo via git:

git clone https://github.com/LN-Zap/zap-desktop.git

And then install dependencies with yarn + install grpc

$ cd zap-desktop
$ yarn
$ npm run install-grpc

Zap does not store lnd binaries in the Github repo so you will need to download the binary file for the appropriate OS from the Lightning Labs wallet repo. Make sure the file has the correct permissions to be executable in Mac/Linux. If you already use the release version, you can copy the binary located at lightning-app/resources/app/bin/[YOUR-OS-FOLDER] and place it into zap-desktop/resources/bin/[YOUR-OS-FOLDER].

Alternatively, you can compile lnd from source to have the latest development version. This allows you to use lncli in addition to Zap, and run a seperate lnd instance with custom configuration. Zap will detect the separate lnd instance and use it as the backend client. For Zap to run properly without any custom lnd setup, copy the lnd binary that will be located in your $GOPATH/bin and paste it into Zap as previously mentioned.

Zap expects lnd to be in one of these directories depending on your OS:

# mac
resources/bin/darwin

#linux
resources/bin/linux

#win32
resources/bin/win32

Then to start it:

$ npm run dev

Test

$ npm run test

Lint

$ npm run lint

Contributing:

Please see the contributing guide

Todos (Last updated August 16th):

Join us on slack before tackling a todo to avoid duplicate work.

The old todo list was recently removed. Come on slack or check open Github issues to see what contributions are needed.

Q & A (Quality and Assurance)

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

Devices

  • Mac
  • Windows
  • Linux

Example user stories

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