Bitcoin thin client for iOS & Android. Built with React Native
Go to file
Overtorment 208694cc1a REL
2018-10-28 10:15:34 +00:00
.circleci Feature/legacywallet (#10) 2018-05-20 10:38:50 +01:00
bip38 fixed bip38 2018-04-28 13:13:36 +01:00
bip70 Development (#103) 2018-10-20 22:10:21 +01:00
class ADD: better source of entropy for wallet creation 2018-10-22 09:31:15 +01:00
fastlane/metadata REL 2018-10-27 16:23:50 +01:00
img Change splash (#94) 2018-10-07 04:35:45 +01:00
loc ADD: buy bitcoin with Changelly 2018-10-28 01:11:07 +01:00
models FIX: Improve broadcasting experience #66 (#107) 2018-10-27 16:13:09 +01:00
patches OPS 2018-10-06 16:41:43 +01:00
screen ADD: buy bitcoin with Changelly 2018-10-28 10:13:28 +00:00
tests/unit Feature/legacywallet (#10) 2018-05-20 10:38:50 +01:00
.babelrc init 2018-01-30 22:42:38 +00:00
.eslintrc Development (#103) 2018-10-20 22:10:21 +01:00
.flowconfig init 2018-01-30 22:42:38 +00:00
.gitignore init 2018-01-30 22:42:38 +00:00
.watchmanconfig init 2018-01-30 22:42:38 +00:00
analytics.js WIP: lightning analytics & improvements 2018-09-03 23:44:45 +01:00
App2.test.js TST 2018-10-12 03:57:51 +01:00
App.js OPS 2018-10-06 03:19:16 +01:00
app.json REL 2018-10-28 10:15:34 +00:00
App.test.js TST 2018-10-12 03:57:51 +01:00
BlueApp.js ADD: security alert 2018-10-25 00:32:36 +01:00
BlueComponents.js Development (#103) 2018-10-20 22:10:21 +01:00
currency.js Development (#103) 2018-10-20 22:10:21 +01:00
encryption.js plausible deniability 2018-04-01 00:16:42 +01:00
entropy.js ADD: better source of entropy for wallet creation 2018-10-22 09:31:15 +01:00
events.js DOC 2018-10-10 21:44:29 +01:00
HDWallet.test.js Development (#96) 2018-10-09 00:25:36 -04:00
LICENSE Initial commit 2018-01-14 20:14:03 +00:00
LightningCustodianWallet.test.js WIP: lnd 2018-09-26 22:16:52 +01:00
Loc.test.js REF: brush up localizations 2018-09-17 12:44:08 +01:00
MainBottomTabs.js ADD: buy bitcoin with Changelly 2018-10-28 01:11:07 +01:00
MockStorage.js REF: prettier 140 chars 2018-07-07 22:15:14 +01:00
package-lock.json FIX: Improve broadcasting experience #66 (#107) 2018-10-27 16:13:09 +01:00
package.json OPS 2018-10-28 01:11:40 +01:00
prompt.js Development (#96) 2018-10-09 00:25:36 -04:00
README.md FIX: github links 2018-10-03 14:17:30 +01:00
release-notes.sh OPS 2018-10-27 16:25:28 +01:00
security-alert.js ADD: security alert 2018-10-25 00:32:36 +01:00
shim.js prettier 2018-03-18 03:11:54 +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

BlueWallet - Bitcoin Wallet

GitHub tag CircleCI code style: prettier

Thin Bitcoin Wallet. Built with React Native, Expo and BlockCypher API.

Appstore

Website: bluewallet.io

Discussion thread: https://bitcointalk.org/index.php?topic=2893813

  • Build and run on your own using Expo Client
  • Private keys never leave your device
  • SegWit-first. Replace-By-Fee support
  • Encryption. Plausible deniability

Beta version, do not use to store large amounts!

BUILD & RUN IT

  • In your console:
git clone https://github.com/BlueWallet/BlueWallet.git
cd BlueWallet
npm install
npm start

TESTS

npm run test

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.

AUTHOR

Igor Korsakov

LICENSE

MIT

ROADMAP

v1.0.0 alpha

Support for single private-key wallets:

  • SegWith P2SH compatibility addresses

Screens:

  • Wallets
    • Sub-screen Edit Wallet
      • Edit label
      • Delete
      • View info: type, address, privkey (?)
    • Sub-screen Add Wallet
  • Transactions
    • Sub screen to view transaction details (confs, fee, seen date, confirmed date, time to confirm)
      • View TX on block explorer
  • Receive
    • Choose wallet
    • Sub-screen with QR
      • address as un-editable input (for copy-paste)
  • Send
    • Choose Wallet
    • Scan QR
      • Sub screen edit balance, memo, receiver name ...
        • Validation error in case of empty fields
      • Broadcast TX
        • save TX meta info to wallet storage (memo, txhex)
  • Settings
    • Opensource link
    • Technologies used

v2.0.0 beta

  • Legacy addresses
  • Encrypt all storage, PIN/Password/Fingerprint security
  • Currency conversion
  • Localization (RU, UA)

Screens:

  • Receive
    • Choose wallet
      • Choose amount in BTC, label etc
      • Generate specialized QR wih above info
    • Choose walet
      • Receive through changelly/shapeshift
  • Send
    • Handle bitcoin:// URI
    • Scan QR with bitcoin:// URI
  • Transactions
    • Sub screen to view transaction details (confs, fee, seen date, confirmed date, time to confirm)
      • Do RBF on TX (with change-destination address)
      • Do CPFP
  • Settings
    • Appstore RateMe link

v3.0.0 beta

Support HD (multi-private keys) Support bech32 addresses

Screens

  • Settings
    • Different UTXO usage strategies
  • Address book..?

v4.0.0

Lightning support?

BACKLOG FEATURES

  • RBF
  • CPFP
  • Sign any message with private key
  • Verify other message signature
  • Tool: Cold wallet verifier (scans private keys and displays public keys realtime)
  • Export (backup) secrets/private keys
  • Export (bip38 password-encrypted)
  • Cold wallet generator
  • Export created signed tx, no broadcast
  • Work through proxy? TOR?
  • Localizations (RU, UA, BY? Arab, JP, CH?)
  • OFFLINE TX: get unspents offline, create & sign TX offline, export txhex
  • Sweep other private key
  • Rebroadcast TX (to some different endpoints?)
  • Batch transaction
  • MultiSig M-of-N (while keeping only 1..M of all sigs on device)
    • Sign your part of multisig via QR code
  • Transaztion queue chart, fee estimation
  • Push notifications for all associated addresses
  • Keep PrivKey/WIF on paper, scan only on TX signing, not keping on device (watch-only address)
  • Decode TX screen
  • Migrate to ElectrumX server (ditch blockcypher) - requires socket/tcp support in Expo OR rpc2rest proxy
  • Fake password which unlocks fake wallets (aka plausible deniability)
  • BIP38 (password-protected key)
  • Self-destruct if several password attempts
  • Generate keys with desired text in address (3MyAddRess......)
  • Generate private key with dice or coin flip as a source of entropy