Gitea
a49728931f
|
1 year ago | |
---|---|---|
.run | 1 year ago | |
app | 1 year ago | |
build-convention | 1 year ago | |
buildSrc | 1 year ago | |
feedback | 1 year ago | |
gradle/wrapper | 1 year ago | |
lockbox | 1 year ago | |
mnemonic | 1 year ago | |
qrecycler | 1 year ago | |
CHANGELOG.md | 1 year ago | |
CONTRIBUTING.md | 1 year ago | |
LICENSE | 1 year ago | |
README.md | 1 year ago | |
build.gradle.kts | 1 year ago | |
gradle.properties | 1 year ago | |
gradlew | 1 year ago | |
gradlew.bat | 1 year ago | |
placeholder.keystore | 1 year ago | |
settings.gradle.kts | 1 year ago |
README.md
hush-android-wallet
A sample Android wallet using the Hush Android SDK which is based on the Zcash Android SDK.
Motivation
Dogfooding - transitive verb - is the practice of an organization using its own product. This app was created to help us learn.
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.
- 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.
See the upstream Zcash Wallet App Threat Model for more information about the security and privacy limitations of the wallet.
If you'd like to help us test, reach out on Telegram or Matrix and let us know! We're always happy to get feedback!
Description
This a sample wallet for the following set of features:
- z2z transactions with encrypted memos
- reply-to formatted memos
Prerequisites
- The code
- Android Studio or adb
- An Android device or emulator. Android 10 or higher is recommended.
Building the App
To run, clone the repo, open it in Android Studio and press play. It should just work.™
Install from Android Studio
- 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
Import
the hush-android-wallet folder.
It will be recognized as an Android project.- 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/hush-android-wallet
./gradlew
Note: The lack of an explicit Gradle task is not a typo. A default task is configured via build.gradle.kts.
Tip: On macOS and Linux, Gradle is invoked with ./gradlew
. On Windows, Gradle is invoked with gradlew
.
Included builds
To simplify implementation of SDK features in conjunction with changes to the app, a Gradle Included Build can be configured.
-
Check out the SDK to a directory path of
../hush-android-sdk
relative to the root of this app's repo. For example:parent/ hush-android-wallet/ hush-android-sdk/
-
Verify that the
hush-android-sdk
builds correctly on its own -
Build
hush-android-wallet
, setting the Gradle propertyIS_SDK_INCLUDED_BUILD=true
There are some limitations of included builds:
- Properties from
hush-android-wallet
will override those set inhush-android-sdk
with the same name - Modules in each project cannot share the same name. For this reason, build-conventions have different names in each repo (
hush-android-sdk/build-conventions
vsother-android-wallet/build-convention
) - Kotlin and KSP versions will need to be coordinated between the two projects, because KSP is tightly coupled to the Kotlin version
Contributing
Contributions are very much welcomed! Contact us on Telegram or Matrix .
Reporting an issue
Contact us on Telegram or Matrix
Copyright
Copyright 2016-2022 The Hush developers
License
GPLv3