- Fix Rust FFI panics with catch_unwind wrappers and safe CString handling - Handle poisoned mutex/RwLock from prior panics instead of crashing - Add stuck sync detection (10s stall threshold) and chain reorg user prompt - Add "Skip Verification" button to seed phrase wizard - Update payment URIs from hush: to drgx: - Update branding strings throughout UI - Add all 6 lite servers (lite, lite1-5.dragonx.is) with random selection - Add server connectivity probing to skip unreachable servers - Reuse Tokio runtime across block fetch batches to reduce sync overhead - Update Cargo.lock dependencies
121 lines
5.0 KiB
Markdown
121 lines
5.0 KiB
Markdown
# SilentDragonXLite
|
|
|
|
SilentDragonXLite is a lightwallet for DRAGONX ($DRAGONX) runs on Linux, Windows, and Mac which does not require you to download the full blockchain. This is experimental software under active development!
|
|
|
|
## PRIVACY NOTICE
|
|
|
|
SilentDragonXLite contacts a few different external websites to get various bits of data.
|
|
The first two are option features, to get real-time price data feeds and if you want
|
|
to look at explorer details. Price feed can be turned off in Settings and you can set
|
|
a custom block explorer URL as well.
|
|
|
|
* coingecko.com for price data API (optional)
|
|
* explorer.dragonx.is for explorer links (optional)
|
|
* various community-run lite wallet servers to provide basic functionality (required)
|
|
|
|
This means your IP address is known to these servers. Enable Tor setting in your wallet to prevent this, or better yet, use TAILS: https://tails.boum.org/
|
|
or https://qubes-os.org
|
|
|
|
## Installation
|
|
|
|
Choose to install a binary release or compile it yourself.
|
|
For Arch Linux users, we have a silentdragonxlite package on [AUR](https://aur.archlinux.org/).
|
|
|
|
### Option 1: Binary Release
|
|
Go to the [releases page](https://git.hush.is/dragonx/SilentDragonXLite/releases) and grab the latest binary.
|
|
|
|
### Option 2: Compile Release Yourself
|
|
|
|
* SilentDragonXLite 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](https://www.qt.io/download) or we recommend installing using your Linux version's package manager (if available).
|
|
* **You'll need Rust v1.49**, so install it via [Rustup in Linux](https://rustup.rs/). **If you use a version greater then 1.63, then it will not currently build** as seen in [Issue #89](https://git.hush.is/hush/SilentDragonLite/issues/89).
|
|
|
|
#### Building on Linux
|
|
|
|
**Nothing below will work without rust. Check that your system has rustc 1.49. If not then you need to use [Rustup in Linux](https://rustup.rs/).**
|
|
|
|
An example of how to install Rust 1.49 with rustup is below:
|
|
|
|
```
|
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
|
Choose: 1) Proceed with installation (default)
|
|
source $HOME/.cargo/env
|
|
rustup install 1.49
|
|
rustup default 1.49
|
|
rustup -V
|
|
```
|
|
|
|
**Nothing below will work without the Linux "build-essential" package. Check that your system has it installed. If not, and you're using a Ubuntu/Debian distro, then you can install with `apt install build-essential`.**
|
|
|
|
##### Ubuntu 22.04:
|
|
|
|
```shell script
|
|
sudo apt-get -y install build-essential qtbase5-dev qt5-qmake qtcreator qttools5-dev-tools
|
|
```
|
|
|
|
##### Ubuntu 18.04 and 20.04:
|
|
```shell script
|
|
sudo apt-get -y install build-essential qt5-default qt5-qmake qtcreator qttools5-dev-tools
|
|
```
|
|
|
|
Compiling can take some time, so be patient and wait for it to finish. It will take potentially a long time for slower systems. Be Patient and please report compiler problems!
|
|
|
|
```shell script
|
|
git clone https://git.hush.is/dragonx/SilentDragonXLite
|
|
cd SilentDragonXLite
|
|
./build.sh linguist
|
|
# This defaults to using 2 cores to compile
|
|
./build.sh
|
|
# To use a custom number of cores to compile, such as 8 :
|
|
# ./build.sh -j8
|
|
./SilentDragonXLite
|
|
```
|
|
|
|
### Other notes
|
|
|
|
#### Install Torsocks (or any other Socks service for TOR) on Ubuntu 18.04
|
|
```shell script
|
|
sudo apt update
|
|
sudo apt install torsocks
|
|
```
|
|
#### Connection to our TOR onion service Server
|
|
|
|
NOTE: Tor server is currently under maintenance.
|
|
|
|
```
|
|
* Open SDL Edit->Settings->LightwalletServer->nope.onion:80
|
|
* Open the folder of SDL in a Terminal -> Enter: TORSOCKS_LOG_LEVEL=1 torsocks -i ./SilentDragonXLite
|
|
```
|
|
### Note Management
|
|
SilentDragonXLite does automatic note and utxo management, which means it doesn't allow you to manually select which address to send outgoing transactions from. It follows these principles:
|
|
|
|
* Defaults to sending shielded transactions, which are now enforced via consensus rules
|
|
* Sapling funds need at least 2 confirmations before they can be spent (60 seconds on average for DRAGONX mainnet)
|
|
* Can select funds from multiple shielded addresses in the same transaction (via raw transactions)
|
|
* Will automatically shield your transparent funds at the first opportunity
|
|
* When sending an outgoing transaction to a shielded address, SilentDragonXLite can decide to use the transaction to additionally shield your transparent funds (i.e., send your transparent funds to your own shielded address in the same transaction)
|
|
|
|
## Where is my wallet stored?
|
|
|
|
Linux: `~/.silentdragonxlite`
|
|
|
|
Windows 10: `C:\Users\%user\AppData\Roaming\silentdragonxlite`
|
|
|
|
Mac: `~/Library/Application Support/silentdragonxlite`
|
|
|
|
## Where are settings stored?
|
|
|
|
Linux: `~/.config/Hush/SilentDragonXLite.conf`
|
|
|
|
Windows: `HKEY_CURRENT_USER\SOFTWARE\Hush\SilentXDragonLite`
|
|
|
|
Mac: `~/Library/Preferences/com.hush.SilentDragonXLite.plist`
|
|
|
|
## Support
|
|
|
|
For support join us on [Telegram](https://dragonx.is/tg) or [file an issue](https://git.hush.is/dragonx/SilentDragonXLite/issues).
|
|
|
|
## License
|
|
|
|
GPLv3 or later
|