Go to file
Kevin Gorham 9ff1e96ebd Initial draft 2020-06-10 12:53:23 -04:00
.github/ISSUE_TEMPLATE Update issue templates 2020-01-17 16:00:43 -06:00
app Explicitly disable all feedback, dev info and crash reporting. 2020-06-10 10:02:53 -04:00
buildSrc Explicitly disable all feedback, dev info and crash reporting. 2020-06-10 10:02:53 -04:00
feedback Explicitly disable all feedback, dev info and crash reporting. 2020-06-10 10:02:53 -04:00
gradle/wrapper Updated to the newly refactored (and published) SDK. 2020-06-10 07:49:38 -04:00
lockbox Dependency cleanup so plugin dependencies are easier to find. 2020-05-27 14:37:44 -04:00
mnemonic New: Provide checksum warning to user. 2020-06-10 08:26:21 -04:00
qrecycler Dependency cleanup so plugin dependencies are easier to find. 2020-05-27 14:37:44 -04:00
.gitignore Initial commit. 2019-11-26 15:29:16 -05:00
CHANGELOG.md Updated build, dependencies and added changelog. 2020-02-21 19:03:00 -05:00
LICENSE Initial commit 2019-11-24 16:40:00 -05:00
README.md Initial draft 2020-06-10 12:53:23 -04:00
build.gradle Explicitly disable all feedback, dev info and crash reporting. 2020-06-10 10:02:53 -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
settings.gradle Updated to the newly refactored (and published) SDK. 2020-06-10 07:49:38 -04:00

README.md

zcash-android-wallet

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

Please see the wallet app threat model for important information about the security and privacy limitations of the wallet.

Motivation

Dogfooding - transitive verb - is the practice of an organization using its own product. This app was created to help us learn. We aim to make it as beautiful as it is useful. Internally, we will continue to extensively use it to innovate and interate on everything from protocol changes to lottie animations. Of course, Zcash has a strong history of being open-source, even when it's difficult. It would be easier to keep this internal-only so that we could fill it with crash-reporting and feedback tools but, instead, we decided to disable those things and make it available as a community resource. Please take note:

This is not a product. This is a tool.

But it is also something we're committed to maintaining and relentlessly improving. So that we can make our libraries that it is built on stronger and more useful.

Setup

Requirements

  1. Open Android Studio and setup an emulator or connect your device
  2. Clone the repo
  3. Open the project and press play. It should just work.

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:

  • We strongly recommend that you only use this for small amounts of funds (less than 1 ZEC). Perhaps begin by using it to create a brand new wallet.
  • Traffic analysis, like in other cryptocurrency wallets, can leak some privacy of the user.
  • The wallet might display inaccurate transaction information if it is connected to an untrustworthy server.
  • Since this was created as a dogfooding tool, think of it less like a wallet and more like a proof of concept, which can result in bugs up to and including loss-of-funds
  • So please backup your seed phrase and wallet birthday (block height)
  • This app has been developed and run exclusively on mainnet it might not work at all on testnet
  • We've done our best to disable everything we are using internally for feedback but understand this app is designed for getting feedback so it will refrence some of the libraries that we use in-house for that purpose.

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