Bitcoin thin client for iOS & Android. Built with React Native
Go to file
2018-07-31 23:37:35 +01:00
.circleci Feature/legacywallet (#10) 2018-05-20 10:38:50 +01:00
bip38 fixed bip38 2018-04-28 13:13:36 +01:00
class WIP: HD wallet 2018-07-31 23:37:35 +01:00
fastlane/metadata ADD: import HD wallets (watch-only for now) 2018-07-22 15:49:59 +01:00
img WIP: redesign 2018-06-29 21:57:02 +01:00
loc REF 2018-07-28 20:14:08 +01:00
models REF: prettier: line width 120 2018-07-07 14:04:32 +01:00
patches FIX: better iPad support 2018-07-18 00:45:06 +01:00
screen ADD: create HD wallet can now generate mnenonic phrase 2018-07-28 21:19:11 +01: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 REF: prettier 140 chars 2018-07-07 22:15:14 +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 ADD: import HD wallets (watch-only for now) 2018-07-22 15:49:59 +01:00
App2.test.js TST 2018-07-07 23:05:01 +01:00
App.js REF: prettier: line width 120 2018-07-07 14:04:32 +01:00
app.json REL 2018-07-25 00:27:44 +01:00
App.test.js FIX: transactions list update limit 2018-07-25 00:27:21 +01:00
BlueApp.js FIX: better transaction list refresh 2018-07-14 21:32:36 +01:00
BlueComponents.js REF 2018-07-28 20:14:08 +01:00
currency.js REF 2018-07-12 00:06:50 +01:00
encryption.js plausible deniability 2018-04-01 00:16:42 +01:00
events.js ADD: import HD wallets (watch-only for now) 2018-07-22 15:49:59 +01:00
HDWallet.test.js WIP: HD wallet 2018-07-31 23:37:35 +01:00
LICENSE Initial commit 2018-01-14 20:14:03 +00:00
LightningCustodianWallet.test.js WIP: lightning 2018-07-15 20:56:28 +01:00
MainBottomTabs.js WIP: redesign 2018-06-28 02:43:28 +01:00
MockStorage.js REF: prettier 140 chars 2018-07-07 22:15:14 +01:00
package-lock.json FIX: better iPad support 2018-07-18 00:45:06 +01:00
package.json ADD: import HD wallets (watch-only for now) 2018-07-22 15:49:59 +01:00
prompt.js storage encryption 2018-03-31 14:43:08 +01:00
README.md Update README.md 2018-07-14 18:05:10 +01:00
release-notes.sh ADD: import HD wallets (watch-only for now) 2018-07-22 15:49:59 +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

BlueWallet - Bitcoin Wallet

CircleCI code style: prettier

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

Appstore v2.1.0

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/Overtorment/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