SilentDragon Android-Hush Coin
|Type||Name||Latest commit message||Commit time|
|app||3 days ago|
|gradle/wrapper||5 days ago|
|LICENSE||6 days ago|
|build.gradle||3 days ago|
|gradle.properties||8 months ago|
|gradlew||8 months ago|
|gradlew.bat||8 months ago|
|settings.gradle||8 months ago|
SilentDragon Android – Android frontend for SilentDragon
SilentDragon Android is an Android frontend for the desktop SilentDragon that lets you send and receive shielded payments from your mobile phone.
You can also head over to the Releases page to download an APK.
In order to let your Android phone connect to your desktop, you need to run the deskop SilentDragon, and sync fully.
Thankfully this should only take a few minutes with a fast internet connection! As the Hush network grows, it will take longer.
After your node is synced, go to
Apps -> Connect Mobile App to view the connection QR Code, which you can scan from the Android App.
Install the Android APK directly
If you’re installing the APK directly, you’ll need to allow
Install from untrusted sources on your Android phone.
You can file issues in the issues tab.
Release Build Process
The first time you create a release build you’ll need to create two files. The release keystore is used for app signing and a properties file is used to store sensitive information about the keystore. These files should not be committed to git. Once you have both of these files you can create a release build for the Google Play Store.
Creating a release keystore
- With Android Studio IDE open, on the system bar click Build -> Generate Signed Bundle/APK
- Select the APK option instead of the Bundle option
- On the next screen select app as the module and click “Create new”
- Set the Key Store Name to silent_dragon_keystore.jks and the path to that of the project, create a password for the keystore path, a Key alias, and a key password. The store password and key password should be the same. Fill out some basic organization information and click Ok.
- On the next screen make sure the build variant “release” is selected and click Finish.
Creating a properties file
Within the projects main directory create a file secrets.properties The contents of the file are below and filled in with the release keystore alias, key password, and store password from when you created the release keystore.
store_file_location=../silent_dragon_keystore.jks key_alias=<alias> key_password=<key_password> store_password=<store_password>
Building a release APK
Before creating each build you should increment the version code & version name in the build.gradle file. These must be incremented for each release otherwise the Play Store will reject the build.
To create a release build navigate to the project directory in terminal and run
./gradlew clean assembleRelease
This will produce an apk file in the following directory. SilentDragonAndroid/app/build/output/apk/release/app-release.apk
This build can be directly uploaded to Google Play.
A desktop full node GUI wallet for HUSH https://myhush.org
Type Name Latest commit message Commit time docs 5 months ago res 25 days ago singleapplication 6 months ago src 9 days ago .gitignore 4 months ago .gitmodules 6 months ago .travis.yml 4 months ago LICENSE 11 months ago README.md 26 days ago application.qrc last month public_key.asc 7 months ago silentdragon.png 4 months ago silentdragon.pro last month
SilentDragon desktop wallet for HUSH ($HUSH) runs on Linux, Windows and macOS. This is experimental software under active development!
SilentDragon contacts a few different external websites to get various bits of data. * coingecko.com for price data API * explorer.myhush.org for explorer links * dexstats.info for address utilities
This means your IP address is known to these servers. Enable Tor setting in SilentDragon to prevent this, or better yet, use TAILS: https://tails.boum.org/
Head over to the releases page and grab the latest installers or binary. https://github.com/MyHush/SilentDragon/releases
SilentDragon needs a Hush full node running hushd. If you already have a hushd node running, SilentDragon will connect to it.
If you don’t have one, SilentDragon will start its embedded hushd node.
Additionally, if this is the first time you’re running SilentDragon or a hushd daemon, SilentDragon will find Sapling params (~50 MB) and configure
--no-embeddedto disable the embedded hushd and force SilentDragon to connect to an external node.
Compiling from source
SilentDragon is written in C++ 14, and can be compiled with g++/clang++/visual c++. It also depends on Qt5, which you can get from here. Note that if you are compiling from source, you won’t get the embedded hushd by default. You can either run an external hushd, or compile hushd as well.
Building on Linux
sudo apt-get install qt5-default qt5-qmake libqt5websockets5-dev git clone https://github.com/MyHush/SilentDragon.git cd SilentDragon qmake silentdragon.pro CONFIG+=debug make -j$(nproc) ./silentdragon
Building on Windows
You need Visual Studio 2017 (The free C++ Community Edition works just fine).
From the VS Tools command prompt
git clone https://github.com/MyHush/SilentDragon.git cd SilentDragon c:Qt5binqmake.exe silentdragon.pro -spec win32-msvc CONFIG+=debug nmake debugSilentDragon.exe
To create the Visual Studio project files so you can compile and run from Visual Studio:
c:Qt5binqmake.exe silentdragon.pro -tp vc CONFIG+=debug
Building on macOS
You need to install the Xcode app or the Xcode command line tools first, and then install Qt.
git clone https://github.com/MyHush/SilentDragon.git cd SilentDragon qmake silentdragon.pro CONFIG+=debug make ./SilentDragon.app/Contents/MacOS/SilentDragon
Emulating the embedded node
In binary releases, SilentDragon will use node binaries in the current directory to sync a node from scratch. It does not attempt to download them, it bundles them. To simulate this from a developer setup, you can symlink these four files in your Git repo:
ln -s ../hush3/src/hushd ln -s ../hush3/src/hush-cli ln -s ../hush3/src/komodod ln -s ../hush3/src/komodo-cli
The above assumes silentdragon and hush3 git repos are in the same directory. File names on Windows will need to be tweaked.