Bitcoin thin client for iOS & Android. Built with React Native
Go to file
2020-03-23 13:21:00 +00:00
__mocks__/@react-native-community ADD: Apple Watch support 2019-05-02 21:33:03 +01:00
.circleci TST: e2e tests for storage encryption 2020-03-19 16:55:35 +00:00
android OPS: Enable Hermes 2020-03-23 13:21:00 +00:00
bip38 fixed bip38 2018-04-28 13:13:36 +01:00
bip70 FIX: Handle BitPay BIP70 scenarios where schema isnt present. 2019-02-25 22:30:24 +00:00
class REF: decrypt storage & advanced mode switch 2020-03-20 15:25:23 +00:00
img ADD: Biometrics 2019-09-27 20:12:25 -04:00
ios OPS: Upgrade RN 2020-03-23 13:21:00 +00:00
loc improved copies and removed icon 2020-03-21 12:25:41 +01:00
models ADD: CLP Fiat 2020-01-07 23:17:09 +00:00
patches Update to BitcoinJS 5.1.6 2019-09-14 07:15:59 +09:00
screen improved copies and removed icon 2020-03-21 12:25:41 +01:00
tests OPS: better e2e on travis 2020-03-23 11:54:36 +00:00
.babelrc ...Android... 2019-01-19 00:40:41 -05:00
.buckconfig ...Android... 2019-01-19 00:40:41 -05:00
.eslintrc Development (#103) 2018-10-20 22:10:21 +01:00
.flowconfig OPS: Upgrade RN 2020-03-23 13:21:00 +00:00
.gitattributes Make patch files keep their line endings. Fix #429 2019-03-22 19:32:23 +00:00
.gitignore OPS: Upgrade RN 2020-03-23 13:21:00 +00:00
.travis.yml OPS: change CI android emu resolution 2020-03-20 17:34:42 +00:00
.watchmanconfig ...Android... 2019-01-19 00:40:41 -05:00
analytics.js REF: analytics 2019-12-01 23:06:44 +00:00
App.js ADD: Swipe to Scan 2019-12-31 13:57:39 -06:00
app.json ...Android... 2019-01-19 00:40:41 -05:00
appcenter-post-build-get-pr-number.js OPS: postbuild script 2019-11-04 10:39:50 +00:00
appcenter-post-build.sh OPS: fix appcenter android build 2019-12-26 22:14:29 +00:00
babel.config.js FIX: Many layout bug fixes. 2019-01-25 01:12:07 -05:00
BlueApp.js ADD: Today Extension and Quick Actions. 2019-11-21 17:34:38 +00:00
BlueComponents.js resolved conflict 2020-03-18 16:07:09 +00:00
BlueElectrum.js REF 2020-03-09 23:08:34 +00:00
CODE_OF_CONDUCT.md DOC: operations 2019-11-29 00:22:57 +00:00
currency.js ADD: Today Extension and Quick Actions. 2019-11-21 17:34:38 +00:00
edit-version-number.sh ADD: Today Extension and Quick Actions. 2019-11-21 17:34:38 +00:00
encryption.js TST: encryption 2019-11-30 00:34:51 +00:00
events.js ADD: Created BlueAddressInput 2019-01-24 02:36:01 -05:00
help.txt Eject (#126) 2018-12-11 22:52:46 +00:00
index.js OPS: analytics fix 2019-11-29 10:27:40 +00:00
LICENSE Initial commit 2018-01-14 20:14:03 +00:00
MainBottomTabs.js Merge branch 'master' into settingsui 2020-03-16 22:39:38 -04:00
NavigationService.js Removed comments 2019-01-24 14:35:54 -05:00
package-lock.json OPS: Enable Hermes 2020-03-23 13:21:00 +00:00
package.json OPS: Enable Hermes 2020-03-23 13:21:00 +00:00
podinstall.sh OPS: Use Podspecs 100% 2019-10-08 15:39:36 +01:00
Privacy.js FIX: Create button was difficult to press on android. (#369) 2019-03-02 12:13:12 +00:00
prompt.js ADD: pay zero-amount (tip) invoices 2019-01-05 16:29:13 +00:00
README.md OPS: improve CI (#894) 2020-03-18 15:38:52 +00:00
release-notes.sh OPS 2018-10-27 16:25:28 +01:00
RELEASE.md DOC: operations 2019-11-29 00:22:57 +00:00
SECURITY.md Create SECURITY.md 2019-08-04 18:57:07 +01:00
shim.js REF: start transition to Electrum server 2019-01-30 19:41:35 +00:00
UnlockWith.js FIX: Set isLoading to false when biometrics unlock fails 2019-12-28 19:44:27 +00:00
up-build-number.js TST 2018-05-20 11:05:50 +01:00
up-build-number.sh OPS 2018-10-27 16:25:28 +01:00
WatchConnectivity.android.js REF: lint 2019-11-19 14:49:09 +00:00
WatchConnectivity.ios.js TST: decrypt storage 2020-01-09 22:32:44 +00:00

BlueWallet - A Bitcoin & Lightning Wallet

GitHub tag CircleCI e2e on master code style: prettier

Thin Bitcoin Wallet. Built with React Native and Electrum.

Appstore Playstore

Website: bluewallet.io

Community: telegram group

  • Private keys never leave your device
  • Lightning Network supported
  • SegWit-first. Replace-By-Fee support
  • Encryption. Plausible deniability
  • And many more features...

BUILD & RUN IT

Please refer to the engines field in package.json file for the minimum required versions of Node and npm. It is preferred that you use an even-numbered version of Node as these are LTS versions.

To view the version of Node and npm in your environment, run the following in your console:

node --version && npm --version
  • In your console:
git clone https://github.com/BlueWallet/BlueWallet.git
cd BlueWallet
npm install

Please make sure that your console is running the most stable versions of npm and node (even-numbered versions).

  • To run on Android:

You will now need to either connect an Android device to your computer or run an emulated Android device using AVD Manager which comes shipped with Android Studio. To run an emulator using AVD Manager:

  1. Download and run Android Studio
  2. Click on "Open an existing Android Studio Project"
  3. Open build.gradle file under BlueWallet/android/ folder
  4. Android Studio will take some time to set things up. Once everything is set up, go to Tools -> AVD Manager
  5. Click on "Create Virtual Device..." and go through the steps to create a virtual device
  6. Launch your newly created virtual device by clicking the Play button under Actions column

Once you connected an Android device or launched an emulator, run this:

npx react-native run-android

The above command will build the app and install it. Once you launch the app it will take some time for all of the dependencies to load. Once everything loads up, you should have the built app running.

  • To run on iOS:
cd ios
pod install
cd ..
npm start ios

TESTS

npm run test

QA

Builds automated and tested with BrowserStack

MOTIVATION TO BUILD IT

I was not satisfied with existing iOS Bitcoin apps, especially with BreadWallet (the one I mainly used) where development stalled and they could not even deliver such features as SegWit, RBF and custom fees (at the times where custom fees were especially needed). So I knew I could create one to use myself and let others use it. I had experience with awesome bitcoin-js lib (javascript), and since I dont own any Macs, don't plan to and not going to learn ObjC/Swift - ReactNative (where you also write in javascript) was an obvious choice.

LICENSE

MIT

WANT TO CONTRIBUTE?

Grab an issue from the backlog, try to start or submit a PR, any doubts we will try to guide you.

Join us at our telegram group where we hangout 👍

Responsible disclosure

Found critical bugs/vulnerabilities? Please email them bluewallet@bluewallet.io Thanks!