You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Jack Mallers a91fc47662 fix(logs): remove debug logs 7 years ago
.vscode first commit 8 years ago
app fix(logs): remove debug logs 7 years ago
flow-typed first commit 8 years ago
internals fix(lint): start fixing linting error 7 years ago
resources fix slack 7 years ago
test fix(tests): fixed tests 7 years ago
.babelrc first commit 8 years ago
.editorconfig first commit 8 years ago
.eslintignore first commit 8 years ago
.eslintrc add baseline tests to component/Peers, use 'app/node_modules' in eslintrc to import app specific node_modules 7 years ago
.flowconfig first commit 8 years ago
.gitattributes first commit 8 years ago
.gitignore first commit 8 years ago
.stylelintrc first commit 8 years ago
.travis.yml first commit 8 years ago
CONTRIBUTING.md feature(contributing) 7 years ago
LICENSE first commit 8 years ago
README.md fix slack 7 years ago
appveyor.yml first commit 8 years ago
darwin_generate_certs.sh fix(extraResources): specify scripts, binaries and svg in extraResources 7 years ago
linux_generate_certs.sh feature(certs): dynamically generate certs based on OS 7 years ago
package-lock.json feature(README): update readme with installation and todo list 7 years ago
package.json fix(icon): custom zap icon 7 years ago
webpack.config.base.js fix(lint): start fixing linting error 7 years ago
webpack.config.eslint.js first commit 8 years ago
webpack.config.main.prod.js fix(lint): start fixing linting error 7 years ago
webpack.config.renderer.dev.dll.js fix(lint): fix more linting errors 7 years ago
webpack.config.renderer.dev.js fix(custom icon importing) 7 years ago
webpack.config.renderer.prod.js fix(lint): fix more linting errors 7 years ago
win32_generate_certs.sh feature(certs): dynamically generate certs based on OS 7 years ago
yarn.lock fix(lint): fix linting errors 7 years ago

README.md

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

  • An up and running LND - see install.md
  • Node.js version >= 7 and npm version >= 4.

For now Zap assumes you are running LND on your own

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

After the repo is cloned, you'll want to generate a Node.js compatible cert

# For Linux
$ cd ~/.lnd
# For Mac
$ cd ~/Library/Application\ Support/Lnd
# For Windows
$ cd \Users\{your_user_name}\AppData\Local\Lnd

# Then generate the cert
$ openssl ecparam -genkey -name prime256v1 -out tls.key
$ openssl req -new -sha256 -key tls.key -out csr.csr -subj '/CN=localhost/O=lnd'
$ openssl req -x509 -sha256 -days 3650 -key tls.key -in csr.csr -out tls.cert
$ rm csr.csr

And then install dependencies with yarn

$ cd zap-desktop
$ yarn

# For Mac & Linux
$ ./node_modules/.bin/electron-rebuild

# For Windows
$ .\node_modules\.bin\electron-rebuild.cmd

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

User wants to view the application in USD

User wants to search for a payment request