BlueWallet/README.md

130 lines
5.3 KiB
Markdown
Raw Normal View History

2018-12-21 23:36:59 +01:00
# BlueWallet - A Bitcoin & Lightning Wallet
2018-01-30 23:42:38 +01:00
2018-12-24 22:16:46 +01:00
[![GitHub tag](https://img.shields.io/badge/dynamic/json.svg?url=https://raw.githubusercontent.com/BlueWallet/BlueWallet/master/package.json&query=$.version&label=Version)](https://github.com/BlueWallet/BlueWallet)
2018-09-26 21:03:44 +02:00
[![CircleCI](https://circleci.com/gh/BlueWallet/BlueWallet.svg?style=svg)](https://circleci.com/gh/BlueWallet/BlueWallet)
[![e2e on master](https://travis-ci.com/BlueWallet/BlueWallet.svg?branch=master)](https://travis-ci.com/BlueWallet/BlueWallet)
2018-07-07 23:19:10 +02:00
[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
2018-12-24 22:16:46 +01:00
![](https://img.shields.io/github/license/BlueWallet/BlueWallet.svg)
2018-03-18 04:19:06 +01:00
2018-01-30 23:42:38 +01:00
Thin Bitcoin Wallet.
2019-12-29 19:31:33 +01:00
Built with React Native and Electrum.
2018-01-30 23:42:38 +01:00
2018-12-20 19:05:26 +01:00
[![Appstore](https://bluewallet.io/img/app-store-badge.svg)](https://itunes.apple.com/us/app/bluewallet-bitcoin-wallet/id1376878040?l=ru&ls=1&mt=8)
[![Playstore](https://bluewallet.io/img/play-store-badge.svg)](https://play.google.com/store/apps/details?id=io.bluewallet.bluewallet)
2018-05-12 22:39:54 +02:00
2018-06-03 13:53:34 +02:00
Website: [bluewallet.io](http://bluewallet.io)
2018-12-22 17:31:47 +01:00
Community: [telegram group](https://t.me/bluewallet)
2018-06-03 13:53:34 +02:00
2018-01-30 23:42:38 +01:00
* Private keys never leave your device
2018-12-20 19:05:26 +01:00
* Lightning Network supported
2018-01-30 23:42:38 +01:00
* SegWit-first. Replace-By-Fee support
2018-04-28 21:31:56 +02:00
* Encryption. Plausible deniability
2020-07-12 04:50:43 +02:00
* And many more [features...](https://bluewallet.io/features)
2018-01-30 23:42:38 +01:00
2018-05-12 22:39:54 +02:00
2018-12-20 19:05:26 +01:00
<img src="https://i.imgur.com/hHYJnMj.png" width="100%">
2018-02-02 21:54:10 +01:00
## BUILD & RUN IT
2018-02-02 21:54:10 +01:00
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.
2018-02-02 21:54:10 +01:00
To view the version of Node and npm in your environment, run the following in your console:
2018-01-30 23:42:38 +01:00
```
node --version && npm --version
```
2018-01-30 23:42:38 +01:00
* In your console:
```
2018-10-03 15:17:30 +02:00
git clone https://github.com/BlueWallet/BlueWallet.git
2018-01-30 23:42:38 +01:00
cd BlueWallet
npm install
```
2018-01-30 23:42:38 +01:00
Please make sure that your console is running the most stable versions of npm and node (even-numbered versions).
2019-10-28 23:52:21 +01:00
* 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`.
* 📝 This option [may take some time to appear in the menu](https://stackoverflow.com/questions/47173708/why-avd-manager-options-are-not-showing-in-android-studio) if you're opening the project in a freshly-installed version of Android Studio.
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:
2019-10-28 23:52:21 +01:00
```
npx react-native run-android
2019-10-28 23:52:21 +01:00
```
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.
2019-10-28 23:52:21 +01:00
* To run on iOS:
```
2020-10-02 16:48:35 +02:00
npx pod-install
2020-07-24 16:32:23 +02:00
npm start
2019-10-28 23:52:21 +01:00
```
In another terminal window within the BlueWallet folder:
2020-06-02 18:55:09 +02:00
```
npx react-native run-ios
2020-06-02 18:55:09 +02:00
```
2020-11-16 03:31:00 +01:00
* To run on macOS using Mac Catalyst:
```
./scripts/maccatalystpatches/applypatchesformaccatalyst.sh
```
You will need to enable Mac in Deployment Info using Xcode. If you are running macOS Catalina, you might need to remove all iOS 14 Widget targets.
2019-10-28 23:52:21 +01:00
2018-06-03 13:53:34 +02:00
## TESTS
```bash
npm run test
```
2018-02-10 20:23:46 +01:00
## 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.
2018-01-30 23:42:38 +01:00
## LICENSE
MIT
2018-12-23 17:42:46 +01:00
## WANT TO CONTRIBUTE?
2018-01-30 23:42:38 +01:00
2020-06-03 15:42:51 +02:00
Grab an issue from [the backlog](https://github.com/BlueWallet/BlueWallet/projects/1), try to start or submit a PR, any doubts we will try to guide you. Contributors have a private telegram group, request access by email bluewallet@bluewallet.io
2018-12-22 17:31:47 +01:00
2020-07-22 14:48:19 +02:00
## Translations
We accepts translations via [Transifex](https://www.transifex.com/bluewallet/bluewallet/)
To participate you need to:
1. Sign up to Transifex
2. Find BlueWallet project
3. Send join request
4. After we accept your request you will be able to start translating! That's it!
2020-08-20 08:56:36 +02:00
Please note the values in curly braces should not be translated. These are the names of the variables that will be inserted into the translated string. For example, the original string `"{number} of {total}"` in Russian will be `"{number} из {total}"`.
2020-07-22 14:48:19 +02:00
Transifex automatically creates Pull Request when language reaches 100% translation. We also trigger this by hand before each release, so don't worry if you can't translate everything, every word counts.
2019-02-01 20:28:23 +01:00
2020-05-19 19:16:30 +02:00
## RESPONSIBLE DISCLOSURE
2019-02-01 20:28:23 +01:00
Found critical bugs/vulnerabilities? Please email them bluewallet@bluewallet.io
Thanks!