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.
 
 
 
 
 
 
Overtorment 4baa1f38a6 ADD: refill lightning wallet with bank card 5 years ago
.circleci TST: hope to improve CI tests 5 years ago
__mocks__/@react-native-community ADD: Apple Watch support 6 years ago
android REL: ver bump to v5.3.2 5 years ago
bip70 FIX: Handle BitPay BIP70 scenarios where schema isnt present. 6 years ago
blue_modules/bip38 FIX: BIP38 should reject invalid passwords 5 years ago
class ADD: refill lightning wallet with bank card 5 years ago
img add some love to the about section 5 years ago
ios REL: ver bump to v5.3.2 5 years ago
loc ADD: General Settings 5 years ago
models ADD: UAH Fiat 5 years ago
patches Update to BitcoinJS 5.1.6 5 years ago
screen ADD: refill lightning wallet with bank card 5 years ago
tests ADD: refill lightning wallet with bank card 5 years ago
.babelrc ...Android... 6 years ago
.buckconfig ...Android... 6 years ago
.eslintrc REF: react hooks 5 years ago
.flowconfig OPS: Upgrade RN 5 years ago
.gitattributes Make patch files keep their line endings. Fix #429 6 years ago
.gitignore OPS: Upgrade RN 5 years ago
.travis.yml OPS: up detox version 5 years ago
.watchmanconfig ...Android... 6 years ago
App.js ADD: Open clipboard modal if address is detected at launch 5 years ago
BlueApp.js ADD: Today Extension and Quick Actions. 5 years ago
BlueComponents.js REF: react hooks 5 years ago
BlueElectrum.js FIX: negative confirmation num for electrum personal server (closes #965) 5 years ago
CODE_OF_CONDUCT.md DOC: operations 5 years ago
CONTRIBUTING.md Create CONTRIBUTING.md 5 years ago
LICENSE Initial commit 7 years ago
MainBottomTabs.js add licensing to about screen 5 years ago
NavigationService.js Removed comments 6 years ago
Privacy.js FIX: Create button was difficult to press on android. (#369) 6 years ago
README.md OPS: improve CI (#894) 5 years ago
RELEASE.md update release procedure 5 years ago
SECURITY.md Create SECURITY.md 5 years ago
UnlockWith.js FIX: Set isLoading to false when biometrics unlock fails 5 years ago
WatchConnectivity.android.js REF: lint 5 years ago
WatchConnectivity.ios.js TST: decrypt storage 5 years ago
analytics.js REF: allow hodlhodl on bip49; analytics events for hodlhodl 5 years ago
app.json ...Android... 6 years ago
appcenter-post-build-get-pr-number.js OPS: postbuild script 5 years ago
appcenter-post-build.sh OPS: fix appcenter android build 5 years ago
babel.config.js FIX: Many layout bug fixes. 6 years ago
currency.js ADD: Today Extension and Quick Actions. 5 years ago
edit-version-number.sh ADD: Today Extension and Quick Actions. 5 years ago
encryption.js TST: encryption 5 years ago
events.js ADD: Created BlueAddressInput 6 years ago
help.txt Eject (#126) 6 years ago
index.js OPS: analytics fix 5 years ago
package-lock.json REL: ver bump to v5.3.2 5 years ago
package.json REL: ver bump to v5.3.2 5 years ago
podinstall.sh OPS: Use Podspecs 100% 5 years ago
prompt.js ADD: pay zero-amount (tip) invoices 6 years ago
release-notes.sh OPS: electrum package 5 years ago
shim.js resolved conflict 5 years ago
up-build-number.js TST 7 years ago
up-build-number.sh OPS 6 years ago

README.md

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!