Skip to content

Latest commit

 

History

History
161 lines (118 loc) · 5.63 KB

README.md

File metadata and controls

161 lines (118 loc) · 5.63 KB

SilentDragon

follow on Mastodon MyHushTeam's Reddit

SilentDragon desktop wallet for HUSH runs on Linux, Windows and macOS. This is experimental software under active development! Get real-time support on our Telegram support group and feel free to join the main Telegram group as well.

Screenshots

The following are screenshots for each SilentDragon tab:

PRIVACY NOTICE

SilentDragon contacts a few different external websites to get various bits of data.

* coingecko.com for price data API (defaults to on, optional)
* explorer.hush.is for explorer links (optional)
* dexstats.info for address utilities
    * Address Asset Viewer menu action (optional)
    * Convert Address menu action (optional)
* wormhole.hush.is for Wormhole services (optional)

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/ NOTE: Tor v3 is not yet supported.

Installation

Go to the releases page and grab the latest installers or binary. For Arch Linux users, this is available from the AUR.

hushd

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 HUSH3.conf for you.

Pass --no-embedded to disable the embedded hushd and force SilentDragon to connect to an external node.

If SD crashes when autostarting hushd, you may have run out of memory. This could happen with very large wallets. Try closing unnecessary applications and/or browser tabs and retry. Another method is to start hushd first, then start SD, which will connect to the existing hushd.

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 or within your operating system package manager. 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

Linux Troubleshooting

If you run into an error with OpenGL, you may need to install extra deps. More details here

Error

/usr/bin/ld: cannot find -lGL
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Solution

sudo apt-get -y install libglu1-mesa-dev freeglut3-dev mesa-common-dev

Ubuntu 18.04 and 20.04

You can install the pre-reqs and build on Ubuntu 18.04 & 20.04 with:

sudo apt-get -y install qt5-default qt5-qmake libqt5websockets5-dev qtcreator
git clone https://git.hush.is/hush/SilentDragon
cd SilentDragon
./build.sh linguist
./build.sh
./silentdragon

Arch Linux

You can install the pre-reqs and build on Arch Linux with:

sudo pacman -S qt5-base qt5-tools qtcreator qt5-websockets rust
git clone https://git.hush.is/hush/SilentDragon
cd SilentDragon
./build.sh linguist
./build.sh release
./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://git.hush.is/hush/SilentDragon
cd SilentDragon
c:\Qt5\bin\qmake.exe silentdragon.pro -spec win32-msvc CONFIG+=debug
nmake

debug\SilentDragon.exe

To create the Visual Studio project files so you can compile and run from Visual Studio:

c:\Qt5\bin\qmake.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.

TODO: Suggestions on installing qt5 deps on a Mac

git clone https://git.hush.is/hush/SilentDragon
cd SilentDragon
# These commands require qmake to be installed
./build.sh linguist
./build.sh
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

The above assumes silentdragon and hush3 git repos are in the same directory. File names on Windows will need to be tweaked.

Support

For support or other questions, join us on Telegram, or tweet at @MyHushTeam, or toot at our Mastodon or join Telegram Support or file an issue.