forked from openwalletGH/openwallet-android
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
CosmoJG
committed
Jun 9, 2017
1 parent
8c09eab
commit 366cd2c
Showing
407 changed files
with
3,930 additions
and
3,702 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,3 +4,4 @@ | |
*.iml | ||
.DS_Store | ||
/build | ||
.directory |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,18 @@ | ||
### Coinomi for Android ### | ||
### OpenWallet for Android ### | ||
|
||
An open source project https://github.com/Coinomi/coinomi-android | ||
The first truly free, libre, and open source light wallet for multiple cryptocurrencies (Bitcoin, Ethereum, Ripple, etc) on Android https://gitlab.com/openwallet/openwallet-android | ||
|
||
Wallet module source code licensed under: | ||
|
||
- GNU General Public License 3 | ||
- Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. | ||
|
||
Core module source code licensed under Apache License Version 2.0 | ||
Core module source code licensed under: | ||
|
||
Uses Bitcoinj library http://bitcoinj.github.io/ | ||
- Apache License Version 2.0 | ||
|
||
Forked from Coinomi https://coinomi.com | ||
Uses Bitcoinj library https://bitcoinj.github.io | ||
QR-code functionality by ZXing https://github.com/zxing/zxing | ||
Crypto-icons by Chris Shepherd https://github.com/shphrd/crypto-icons | ||
Font-icons by Daniel Bruce http://www.entypo.com | ||
|
||
Font-icons by Daniel Bruce https://www.entypo.com |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,228 +1,59 @@ | ||
Coinomi Wallet | ||
OpenWallet for Android | ||
=============== | ||
|
||
Our goal is to support every cryptocurrency with an active development team. Store all the best cryptocurrency through a single app, without sacrificing security. Private keys are stored on your own device. Instead of having one backup file for every coin, you get a master key that can be memorized or stored on a piece of paper. Restore all wallets from a single recovery phrase. | ||
The goal of this project is to build the best free, libre, and open source light wallet for multiple cryptocurrencies (Bitcoin, Ethereum, Ripple, etc) on Android. Security and usability are, of course, the priorities. For this reason, your private keys never leave the device. Luckily, this wallet is compliant with BIP32, BIP39, and BIP44. A single 24-word mnemonic phrase may be used to recover each and every one of your cryptocurrency wallets. | ||
|
||
TODOs: | ||
|
||
* Create instrumentation tests to test a signed APK | ||
|
||
|
||
## Building the app | ||
|
||
Install [Android Studio](https://developer.android.com/sdk/installing/studio.html). Once it is | ||
running, import coinomi-android by navigating to where you cloned or downloaded it and selecting | ||
settings.gradle. When it is finished importing, click on the SDK Manager ![SDK Manager](https://developer.android.com/images/tools/sdk-manager-studio.png). You will need to install SDK version 21. | ||
|
||
<br/> | ||
Make sure that you have JDK 7 installed before building. You can get it [Here](http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html). Once you have that installed, navigate to File > Project Structure > SDK Location and change the path of your current JDK to the path of the new JDK. **The project will not build with JDK 8**. | ||
|
||
<br/> | ||
Once it is finished installing, you will need to enable developer options on your phone. To do so, | ||
go into settings, About Phone, locate your Build Number, and tap it 7 times, or until it says | ||
"You are now a Developer". Then, go back to the main Settings screen and scroll once again to the | ||
bottom. Select Developer options and enable USB Debugging. | ||
|
||
<br/> | ||
Then plug your phone into your computer and hit the large green play button at the top of | ||
Android Studio. It will load for a moment before prompting you to select which device to install | ||
it on. Select your device from the list, and hit continue. | ||
## Contributions | ||
|
||
**NOTE** | ||
If you are attempting to build on a Lollipop emulator, please ensure that you are using *Android 5.*.* armeabi-v7*. It will not build on an x86/x86_64 emulator. | ||
Contributions aren't just welcome, they're financially encouraged! (Well, they will be soon. Hang tight!) Eventually, we hope to set up a cryptocurrency-based (likely BTC or ETH) rewards system for contributions, be they new features, new translations, or new coins. As always, all you've gotta do is fork and pull! | ||
|
||
## Contributions | ||
By the way, if you'd like to add new coins, check out this document provided by Coinomi: [document](https://coinomi.com/AddingSupportForANewCurrency/). | ||
|
||
Your contributions are very welcome, be it translations, extra features or new coins support. Just | ||
fork this repo and create a pull request with your changes. | ||
You should find that a lot of Coinomi's documentation applies to OpenWallet as well. This is because OpenWallet was forked from Coinomi before it ditched the open source model in favor of a more proprietary, "source-available" model. **OpenWallet is, and forever will be, free, libre, and open source!** | ||
|
||
For new coins support read this [document](https://coinomi.com/AddingSupportForANewCurrency/). | ||
Generally you need: | ||
Anyway, back to the coins. Generally you'll need: | ||
|
||
* Electrum-server support | ||
* Coinomi core support | ||
* OpenWallet core support | ||
* A beautiful vector icon | ||
* Entry to the [BIP44 registry](https://github.com/satoshilabs/docs/blob/master/slips/slip-0044.rst) that is maintained by Satoshi labs | ||
* BIP32, BIP39, and BIP44 compliance | ||
|
||
## How to Go About Building an Independent Fork of This App | ||
|
||
## Releasing the app | ||
First off, ensure that your client device is running Android Lollipop or later. Second, ensure that your client device is running an ARM processor as this project is currently incompatible with x86_64/amd64. | ||
|
||
To release the app follow the steps. | ||
Start up Android Studio and import this repository (openwallet-android) in its entirety (click on settings.gradle). When that's done, install Version 21 of the SDK. Note that this project must be built with JDK 7 as it is currently incompatible with JDK 8. | ||
|
||
Once built, enable developer options on your Android smartphone as well as USB debugging. Plug your smartphone into your computer, and install your shiny new app through Android Studio. | ||
|
||
## How to Go About Releasing an Independent Fork of This App | ||
|
||
1) Change the following: | ||
|
||
* in strings.xml app_name string to "Coinomi" and app_package to com.coinomi.wallet | ||
* in build.gradle the package from "com.coinomi.wallet.dev" to "com.coinomi.wallet" | ||
* in AndroidManifest.xml the android:icon to "ic_launcher" and all "com.coinomi.wallet.dev.*" to "com.coinomi.wallet.*" | ||
* in strings.xml app_name string to "OpenWallet" and app_package to com.openwallet.wallet | ||
* in build.gradle the package from "com.openwallet.wallet.dev" to "com.openwallet.wallet" | ||
* in AndroidManifest.xml the android:icon to "ic_launcher" and all "com.openwallet.wallet.dev.*" to "com.openwallet.wallet.*" | ||
* remove all ic_launcher_dev icons with `rm wallet/src/main/res/drawable*/ic_launcher_dev.png` | ||
* setup ACRA and ShapeShift | ||
|
||
2) Then in the Android Studio go to: | ||
2) Then perform the following in Android Studio: | ||
|
||
* Build -> Clean Project and without waiting... | ||
* Build -> Generate Signed APK and generate a signed APK. ... and now you can grab yourself a nice cup of tea. | ||
|
||
3) Test this APK (TODO: with instrumentation tests). | ||
|
||
For now test it manually by installing it `adb install -r wallet/wallet-release.apk` | ||
3) Test the APK. | ||
|
||
> This one is in the TODOs and must be automated | ||
> because it will be here that you take a break ;) | ||
Install the APK with `adb install -r wallet/wallet-release.apk` | ||
|
||
4) Upload to Play Store and check for any errors and if all OK publish in beta first. | ||
4) Upload everything to the Play Store, and continue checking for any errors. If all goes well, you're good to go! | ||
|
||
5) Create a GIT release commit: | ||
5) Create a git release commit: | ||
|
||
* Create a commit with the log entry similar to the description in the Play Store | ||
* Create a tag with the version of the released APK with `git tag vX.Y.Z <commit-hash>` | ||
* Create a commit with a detailed description | ||
* Create a tag with the version of the released APK using `git tag vX.Y.Z <commit-hash>` or something similar | ||
|
||
|
||
## Version history | ||
|
||
New in version 1.6.0-1.6.2 | ||
- Overview screen | ||
- Optimized memory usage | ||
- Sweep paper wallets | ||
- “Pull to refresh” functionality | ||
- Synchronized progress bar | ||
- Option to rename accounts | ||
- Option to modify fees in the Settings area | ||
- Transactions now include Date stamps | ||
- Improved handling of addresses of coins with conflicting address versions | ||
- Support for landscape view | ||
- User interface and usability tweaks | ||
- New coins: Auroracoin, Gulden, Potcoin, Bata, Verge, Asiacoin, e-Gulden, OKCash, Clubcoin, Richcoin | ||
|
||
New in version 1.5.22 | ||
- Improved UI for setting a BIP39 passphrase | ||
- New coins: Clams, GCRcoin, Dogecoindark | ||
|
||
New in version 1.5.21 | ||
- Fixed memory leak when restoring a wallet | ||
- Fixed crash when adding a coin account with the wrong password in the exchange screen | ||
- Fixed crash on empty password in sign/verify message screen | ||
- Added coin: ParkByte | ||
|
||
New in version 1.5.20 | ||
- Fixed crashes on some devices | ||
- Added coins: Novacoin, Canada eCoin and ShadowCash | ||
- Experimental req-addressrequest support | ||
|
||
New in version 1.5.19 | ||
- Possibility to sign and verify messages | ||
- Account details screen to view the public key | ||
- Transaction messages in Vpncoin | ||
- Russian translation | ||
- Some UI optimizations | ||
- Bug fixes | ||
- Increase the default size of the recovery phrase | ||
|
||
New in version 1.5.18 | ||
- Can set an amount in receive screen | ||
- Added Chinese and Japanese translations | ||
- Updated the recovery phrase creation procedure | ||
- Added coins: Namecoin, Vpncoin, Vertcoin, Jumbucks, Neoscoin | ||
|
||
New in version 1.5.17 | ||
- Added Greek translation | ||
- Fixed Peercoin and Digitalcoin rare invalid transaction creation | ||
- New block explorer for Blackcoin | ||
- Added Neoscoin | ||
- Small UI fixes | ||
|
||
New in version 1.5.16 | ||
- Changed the way balance is calculated and added the possibility to spend unconfirmed transactions | ||
- Small optimizations when handling the QR code and transactions | ||
|
||
New in version 1.5.15 | ||
- Support payment URIs requests from browsers and other apps | ||
- Changed NuBits and NuShares URIs to "nu" | ||
- Added Monacoin and Digibyte | ||
- Added ability to spend own unconfirmed change funds | ||
- Usability tweaks and bug fixes | ||
|
||
New in version 1.5.14 | ||
- Added exchange history log | ||
- Can send alt-coins from bitcoin wallet and vise-versa | ||
- Make exchange rates appear faster in the UI | ||
- Fix rare crash when viewing the exchange status of Peercoin or NuBits | ||
|
||
New in version 1.5.13 | ||
- Integrated exchange (beta) | ||
- Rebranding of Darkcoin to Dash | ||
- UI tweaks | ||
|
||
New in version 1.5.12 | ||
- Click on any addresses to edit the label or copy it | ||
- Dedicated copy address button in the receive screen | ||
- New user interface for Android Lollipop devices | ||
- Improved icons | ||
- Bug and crash fixes | ||
|
||
New in version 1.5.11 | ||
- New settings screen | ||
- Ability to view recovery phrase in settings | ||
- Manual receiving address management (enable in settings) | ||
- Testnet for Bitcoin, Litecoin and Dogecoin | ||
- Usability tweaks | ||
- Bug and crash fixes | ||
|
||
New in version 1.5.10 | ||
- Balance screen shows the amount with 4 decimal places (click to view the full amount) | ||
- Basic address book | ||
|
||
New in version 1.5.9 | ||
- Ask confirmation before creating a new address | ||
|
||
New in version 1.5.8 | ||
- Added the ability to create new addresses and view the previous ones | ||
- When creating a new wallet, it is now possible to select the passphrase and copy it | ||
- Usability fix when setting a password | ||
- Better bug/crash reporting | ||
|
||
New in version 1.5.6 and 1.5.7 | ||
- Cannacoin, Feathercoin, Digitalcoin and Rubycoin support | ||
|
||
New in version 1.5.5 | ||
- Revert BTC fees to previous values, as transactions are not included fast enough in the blocks | ||
- Added local currency values in the sign transaction screen | ||
|
||
New in version 1.5.4 | ||
- Improved transaction broadcasting and send validation logic | ||
- Fix issue where the balance was incorrectly calculated in some cases | ||
- Updated Darkcoin p2sh address versions | ||
|
||
New in version 1.5.3 | ||
- Changed Blackcoin code from BC to BLK | ||
|
||
New in version 1.5.2 | ||
- Added exchange rates for various national currencies | ||
- Blackcoin support | ||
- Implemented multiple coin selection on creation or restoring wallet | ||
- Improved automatic connectivity management with faster reconnects and detection of network change. Added feature to disconnect when the app is in background and idle for 30 minutes. | ||
- Fix issue when restoring a wallet the previous wallet could reappear | ||
- General usability and bug fixes | ||
|
||
New in version 1.5.1 | ||
- Added beta support for Blackcoin | ||
|
||
New in version 1.5.0 | ||
- The supported coins are now Bitcoin, Litecoin, Dogecoin, Peercoin, Darkcoin, Reddcoin, NuBits and NuShares. All will work without changing your seed! | ||
- Cleaner interface and bug fixes. | ||
|
||
New in version 1.4.1 | ||
- Re-design of the create wallet tutorial and set more sane defaults | ||
- Fix crash when refreshing a non connected wallet | ||
- Small UI tweaks | ||
|
||
New in version 1.4.0 | ||
- New balance screen design | ||
- Optimization for old 2.3.x Androids with very small screens | ||
- Fix crash when emptying an already empty wallet | ||
- When refreshing, do it only for the current coin | ||
- General UI and usability tweaks | ||
- Optimize layouts for small screens | ||
- Fixed crash in older Androids due to a missing API | ||
- Fixed camera crash in low resolution screens | ||
- Able to install app in external storage | ||
- ... and many fixes and optimizations | ||
All previous history is available at the following repository, which is an unmodified fork of Coinomi prior to its license change: | ||
https://github.com/CosmoJG/open-coinomi-android |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
4 changes: 2 additions & 2 deletions
4
...main/java/com/coinomi/core/CoreUtils.java → ...n/java/com/openwallet/core/CoreUtils.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
.../java/com/coinomi/core/Preconditions.java → ...va/com/openwallet/core/Preconditions.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
package com.coinomi.core; | ||
package com.openwallet.core; | ||
|
||
|
||
/* | ||
|
6 changes: 3 additions & 3 deletions
6
.../com/coinomi/core/coins/AsiacoinMain.java → ...m/openwallet/core/coins/AsiacoinMain.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 2 additions & 2 deletions
4
...om/coinomi/core/coins/AuroracoinMain.java → ...openwallet/core/coins/AuroracoinMain.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 2 additions & 2 deletions
4
.../com/coinomi/core/coins/BatacoinMain.java → ...m/openwallet/core/coins/BatacoinMain.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 2 additions & 2 deletions
4
...a/com/coinomi/core/coins/BitcoinMain.java → ...om/openwallet/core/coins/BitcoinMain.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 2 additions & 2 deletions
4
...a/com/coinomi/core/coins/BitcoinTest.java → ...om/openwallet/core/coins/BitcoinTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 2 additions & 2 deletions
4
...com/coinomi/core/coins/BlackcoinMain.java → .../openwallet/core/coins/BlackcoinMain.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.