Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
ios
 
 
lib
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Breez Mobile Client

screenshot screenshot screenshot screenshot screenshot screenshot screenshot

Breez is a Lightning Network mobile client and a hub. It provides a platform for simple, instantaneous bitcoin payments.
Breez is currently in a public beta, available on Android and on iOS.

Features

  • lnd on Android
  • Neutrino on Android
  • Seamless hub channel creation
  • Adding funds using on-chain tx
  • BTC & Satoshi units
  • Random avatars
  • Connect to Pay: simple interface to execute payments between users
  • Pay someone nearby: pay to another Breez user using NFC
  • NFC card support: activate an NFC card to be used by POS
  • A full lncli interface to query and execute ln commands
  • Filter tx by type
  • Filter tx by date
  • Pay invoice (link or QR) from other ln wallets
  • Create invoice (link or QR) to be paid by other ln wallets
  • Removing funds to an on-chain address
  • SubmarineSwaps for adding on-chain funds including refund functionality
  • End-to-end encryption of Connect-to-Pay session
  • Make Connect-to-Pay links work for users that didn't yet install Breez
  • Ability to Backup/Restore the ln node
  • Mainnet support
  • Support zero-sat invoices
  • Startup optimizations
  • Background sync via FCM
  • Marketplace w/ Bitrefill
  • Adding funds via vouchers
  • Backup improvements
  • Add background ChannelsWatcher job
  • Expose Bitcoin Node (BIP157) configuration
  • iOS support
  • Add webLN support
  • Fiat units
  • Optional PIN
  • Adding funds via credit card
  • Add stronger encryption to cloud backup
  • iCloud backup option
  • Dark mode
  • Export payments to .csv
  • Support 3rd-party LSPs
  • Biometric login
  • Fast on-boarding
  • Pay w/o full sync
  • Implement lnurl-withdraw
  • Send on-chain via reverse Submarine Swaps
  • Improve hodl invoice support
  • POS POC release
  • Spontaneous payments to node id (nodes running with --accept-keysend)
  • Fast graph sync
  • Scan QR code from an image
  • Import/export POS items
  • Support zero-conf channels
  • 'On-the-fly' channel creation (increase limit)
  • Async payments via Lightning Rod
  • Neutrino sync optimizations
  • Support SD storage

System Requirements

  • Android 7+ 64bit
  • iPhone 6+

Build

  1. Build breez.aar and bindings.framework as decribed in https://github.com/breez/breez
  2. For Android:
  • Symlink breez.aar to the android/app/libs/ directory
  • Create a firebase Android app using the firebase console
  • Generate the google-services.json (on "Project settings" menu) and copy it to the android/app/src/client directory
  1. For iOS:
  • Copy the bindings.framework directory to the ios directory.
  • Create a firebase iOS app using the firebase console
  • Generate the GoogleServices-info.plist and copy it to ios/Runner directory
  • Run pod install from breezmobile/ios
  1. Flutter beta channel
  • Install flutter Run these command to switch to beta channel:
  • flutter channel beta
  • flutter upgrade

Run

Now you can use the following commands to run in a connected device the client app or the pos or to build the corresponding apks:

  • flutter run --flavor=client --target=lib/main.dart
  • flutter run --flavor=pos --target=lib/main_pos.dart
  • flutter build apk --target-platform=android-arm64 --flavor=client --debug --target=lib/main.dart
  • flutter build apk --target-platform=android-arm64 --flavor=pos --debug --target=lib/main_pos.dart

Running on testnet

Modify the files under the conf/ directory:

# breez.conf
-network=mainnet
+network=testnet
-peer=btcd-mainnet.lightning.computer
+peer=btcd-testnet.lightning.computer

# lnd.conf
-neutrino.connect=btcd-mainnet.lightning.computer
+neutrino.connect=btcd-testnet.lightning.computer

After the initial sync, go to the Developer menu, get an address to fund with testnet coins with newaddress p2wkh, then fund it, and use connect 03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003@3.16.119.191:9735 then openchannel --private --conf_target 1 03d5e17a3c213fe490e1b0c389f8cfcfcea08a29717d50a9f453735e0ab2a7c003 90000 to open a channel to that public node (adjust the amounts and the node id/address if you wish).

Architecture

screenshot

You can’t perform that action at this time.