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.

174 lines
5.2 KiB

7 years ago
# BlueWallet - Bitcoin Wallet
[![GitHub tag](https://img.shields.io/github/package-json/v/BlueWallet/BlueWallet.svg)](https://github.com/BlueWallet/BlueWallet)
6 years ago
[![CircleCI](https://circleci.com/gh/BlueWallet/BlueWallet.svg?style=svg)](https://circleci.com/gh/BlueWallet/BlueWallet)
6 years ago
[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
7 years ago
7 years ago
Thin Bitcoin Wallet.
Built with React Native, Expo and BlockCypher API.
6 years ago
[![Appstore](http://www.bluewallet.io/img/app-store-badge.svg)](https://itunes.apple.com/us/app/bluewallet-bitcoin-wallet/id1376878040?l=ru&ls=1&mt=8)
7 years ago
6 years ago
Website: [bluewallet.io](http://bluewallet.io)
Discussion thread: https://bitcointalk.org/index.php?topic=2893813
7 years ago
7 years ago
7 years ago
* Build and run on your own using Expo Client
* Private keys never leave your device
* SegWit-first. Replace-By-Fee support
7 years ago
* Encryption. Plausible deniability
7 years ago
7 years ago
Beta version, do not use to store large amounts!
6 years ago
<img src="https://bluewallet.io/img/bluewallet-big.png" width="460">
7 years ago
7 years ago
7 years ago
## BUILD & RUN IT
7 years ago
* In your console:
```
git clone https://github.com/BlueWallet/BlueWallet.git
7 years ago
cd BlueWallet
npm install
npm start
```
* Install Expo client: https://itunes.apple.com/app/apple-store/id982107779?ct=www&mt=8
7 years ago
* Send the link shown in your console after `npm start` to your device
7 years ago
* Open the link with Safari, Expo client should automatically handle `exp://` URI scheme
7 years ago
6 years ago
## TESTS
```bash
npm run test
```
7 years ago
## 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.
7 years ago
## AUTHOR
7 years ago
[Igor Korsakov](http://igorkorsakov.com/)
7 years ago
## LICENSE
MIT
## ROADMAP
### v1.0.0 alpha
Support for single private-key wallets:
7 years ago
* ~~SegWith P2SH compatibility addresses~~
7 years ago
#### 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 ...~~
7 years ago
* ~~Validation error in case of empty fields~~
7 years ago
* ~~Broadcast TX~~
* ~~save TX meta info to wallet storage (memo, txhex)~~
* Settings
* ~~Opensource link~~
* ~~Technologies used~~
### v2.0.0 beta
* ~~Legacy addresses~~
7 years ago
* ~~Encrypt all storage, PIN/Password/Fingerprint security~~
7 years ago
* Currency conversion
6 years ago
* ~~Localization (RU, UA)~~
7 years ago
#### Screens:
* Receive
* Choose wallet
* Choose amount in BTC, label etc
* Generate specialized QR wih above info
* Choose walet
* Receive through changelly/shapeshift
* Send
7 years ago
* Handle `bitcoin://` URI
7 years ago
* ~~Scan QR with `bitcoin://` URI~~
7 years ago
* 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)
7 years ago
Support bech32 addresses
7 years ago
#### Screens
* Settings
* Different UTXO usage strategies
* Address book..?
### v4.0.0
Lightning support?
## BACKLOG FEATURES
* [x] RBF
* [ ] CPFP
* [ ] Sign any message with private key
* [ ] Verify other message signature
* [ ] Tool: Cold wallet verifier (scans private keys and displays public keys realtime)
* [x] Export (backup) secrets/private keys
7 years ago
* [ ] Export (bip38 password-encrypted)
7 years ago
* [ ] Cold wallet generator
* [x] Export created signed tx, no broadcast
* [ ] Work through proxy? TOR?
6 years ago
* [x] Localizations (RU, UA, BY? Arab, JP, CH?)
7 years ago
* [ ] OFFLINE TX: get unspents offline, create & sign TX offline, export txhex
7 years ago
* [ ] 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
7 years ago
* [ ] Migrate to ElectrumX server (ditch blockcypher) - requires socket/tcp support in Expo OR rpc2rest proxy
7 years ago
* [x] Fake password which unlocks fake wallets (aka plausible deniability)
* [x] BIP38 (password-protected key)
7 years ago
* [ ] Self-destruct if several password attempts
6 years ago
* [ ] Generate keys with desired text in address (3MyAddRess......)
* [ ] Generate private key with dice or coin flip as a source of entropy