Go to file
Adí 695bffab9a
#247 Add ktlint (#248)
* Add ktlint

Upgrade Gradle
Fix formatting for ktlint

* Upgrade to Gradle 7.0

Bump up NDK, targetSDKVersion & kotlinVersion

Fix expected type issue in ScanFragment getPackageInfo()

* Revert SDK version.

Delete unused file SendAddressFragment.kt
Fix comment formatting.

Co-authored-by: Kevin Gorham <kevin.gorham@electriccoin.co>
2021-05-03 11:22:16 -04:00
.github/ISSUE_TEMPLATE Update issue templates 2020-01-17 16:00:43 -06:00
app #247 Add ktlint (#248) 2021-05-03 11:22:16 -04:00
buildSrc #247 Add ktlint (#248) 2021-05-03 11:22:16 -04:00
feedback Miscellaneous minor changes. 2020-12-19 10:35:43 -05:00
gradle/wrapper #247 Add ktlint (#248) 2021-05-03 11:22:16 -04:00
lockbox Miscellaneous minor changes. 2020-12-19 10:35:43 -05:00
mnemonic New: Provide checksum warning to user. 2020-06-10 08:26:21 -04:00
qrecycler New: Added QA build type. 2020-10-07 20:19:54 -04:00
.editorconfig #247 Add ktlint (#248) 2021-05-03 11:22:16 -04:00
.gitignore Miscellaneous cleanup and minor version updates. 2021-04-23 14:28:38 -04:00
CHANGELOG.md Update version and CHANGELOG and checkpoints. 2021-04-23 18:38:55 -04:00
CONTRIBUTING.md Contributing guide and helper file for easier builds. 2020-06-10 18:06:38 -04:00
LICENSE Initial commit 2019-11-24 16:40:00 -05:00
README.md Updated with helpful links that many will need. 2020-06-15 13:05:28 -04:00
build.gradle #247 Add ktlint (#248) 2021-05-03 11:22:16 -04:00
gradle.properties General fixes and cleanup. 2020-01-31 11:32:36 -05:00
gradlew Initial commit. 2019-11-26 15:29:16 -05:00
gradlew.bat Initial commit. 2019-11-26 15:29:16 -05:00
ktlint.gradle #247 Add ktlint (#248) 2021-05-03 11:22:16 -04:00
placeholder.keystore Updated product name and removed local dependency. 2020-06-10 17:09:20 -04:00
responsible_disclosure.md Added responsible disclosure (it just points to the SDK md doc) 2021-01-26 14:23:23 -08:00
settings.gradle Updated product name and removed local dependency. 2020-06-10 17:09:20 -04:00

README.md

zcash-android-wallet

An Android wallet using the Zcash Android SDK that is maintained by ECC developers.

Motivation

Dogfooding - transitive verb - is the practice of an organization using its own product. This app was created to help us learn.

Please take note: the wallet is not an official product by ECC, but rather a tool for learning about our libraries that it is built on. This means that we do not have robust infrasturcture or user support for this application. We open sourced it as a resource to make wallet development easier for the Zcash ecosystem.

Setup

To run, clone the repo, open it in Android Studio and press play. It should just work.™

Requirements

Install from Android Studio

  1. Install Android studio and setup an emulator
    1a. If using a device, be sure to put it in developer mode to enable side-loading apps
  2. Import the zcash-android-wallet folder.
    It will be recognized as an Android project.
  3. Press play (once it is done opening and indexing)

OR Install from the command line

To build from the command line, setup ADB and connect your device. Then simply run this and it will both build and install the app:

cd /path/to/zcash-android-wallet
./gradlew

Disclaimers

There are some known areas for improvement:

  • This app is mainly intended for learning and improving the related libraries that it uses. There may be bugs.
  • This wallet currently only supports receiving at shielded addresses, which makes it incompatible with wallets that do not support sending to shielded addresses.
  • Traffic analysis, like in other cryptocurrency wallets, can leak some privacy of the user.
  • The wallet requires a trust in the server to display accurate transaction information.
  • This app has been developed and run exclusively on mainnet it might not work on testnet.

See the Wallet App Threat Model for more information about the security and privacy limitations of the wallet.

If you'd like to sign up to help us test, reach out on discord and let us know! We're always happy to get feedback!

License

MIT