This commit is contained in:
Duke Leto
2021-01-02 12:27:34 -05:00
parent bfac16dd11
commit 3b75b37b81
10 changed files with 39 additions and 42 deletions

View File

@@ -3,17 +3,25 @@
SilentDragonLite is a lightwallet for HUSH ($HUSH) runs on Linux and Windows which does not require you to download the full blockchain. This is experimental software under active development!
<img src="https://raw.githubusercontent.com/MyHush/SilentDragonLite/master/hushchat-screenshot.png">
<img src="hushchat-screenshot.png">
## PRIVACY NOTICE
SilentDragonLite 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, hush-lightwallet.de to get Data.
SilentDragonLite 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.hush.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 SilentDragon to prevent this, or better yet, use TAILS: https://tails.boum.org/
or https://qubes-os.org
## Installation
Go to the releases page and grab the latest installers or binary. https://github.com/MyHush/SilentDragonLite/releases
Go to the releases page and grab the latest installers or binary. https://git.hush.is/hush/SilentDragonLite/releases
## Install Torsocks (or any other Socks service for TOR) on Ubuntu 18.04
```
@@ -27,9 +35,10 @@ sudo apt install torsocks
```
## Note Management
SilentDragonLite 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, even if you're sending to a transparent address
* Sapling funds need at least 2 confirmations before they can be spent
* Can select funds from multiple shielded addresses in the same transaction
* Defaults to sending shielded transactions, which are now enforced via consensus rules
* Sapling funds need at least 2 confirmations before they can be spent (150 seconds on average for HUSH 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, SilentDragonLite 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)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 75 KiB

BIN
res/new-sdl-logo.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

BIN
res/sdl-logo.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -89,9 +89,10 @@ void Controller::setConnection(Connection* c)
ui->statusBar->showMessage("");
// If we're allowed to get the Hush Price, get the prices
if (Settings::getInstance()->getAllowFetchPrices())
if (Settings::getInstance()->getAllowFetchPrices()) {
refreshZECPrice();
supplyUpdate();
}
// If we're allowed to check for updates, check for a new release
if (Settings::getInstance()->getCheckForUpdates())
@@ -688,23 +689,21 @@ void Controller::supplyUpdate() {
// Get the total supply and render it with thousand decimal
zrpc->fetchSupply([=] (const json& reply) {
int supply = reply["supply"].get<json::number_integer_t>();
int zfunds = reply["zfunds"].get<json::number_integer_t>();
int total = reply["total"].get<json::number_integer_t>();;
int zfunds = reply["zfunds"].get<json::number_integer_t>();
int total = reply["total"].get<json::number_integer_t>();;
if (
Settings::getInstance()->get_currency_name() == "EUR" ||
Settings::getInstance()->get_currency_name() == "CHF" ||
Settings::getInstance()->get_currency_name() == "RUB"
)
{
ui->supply_taddr->setText((QLocale(QLocale::German).toString(supply)+ " Hush"));
ui->supply_zaddr->setText((QLocale(QLocale::German).toString(zfunds)+ " Hush"));
ui->supply_total->setText((QLocale(QLocale::German).toString(total)+ " Hush"));
}
else
{
ui->supply_taddr->setText("Hush " + (QLocale(QLocale::English).toString(supply)));
ui->supply_zaddr->setText("Hush " +(QLocale(QLocale::English).toString(zfunds)));
ui->supply_total->setText("Hush " +(QLocale(QLocale::English).toString(total)));
ui->supply_taddr->setText((QLocale(QLocale::German).toString(supply)+ " HUSH"));
ui->supply_zaddr->setText((QLocale(QLocale::German).toString(zfunds)+ " HUSH"));
ui->supply_total->setText((QLocale(QLocale::German).toString(total)+ " HUSH"));
} else {
ui->supply_taddr->setText("HUSH " + (QLocale(QLocale::English).toString(supply)));
ui->supply_zaddr->setText("HUSH " +(QLocale(QLocale::English).toString(zfunds)));
ui->supply_total->setText("HUSH " +(QLocale(QLocale::English).toString(total)));
}
});

View File

@@ -111,7 +111,7 @@ MainWindow::MainWindow(QWidget *parent) :
// Set up Feedback action
QObject::connect(ui->actionDonate, &QAction::triggered, this, &MainWindow::donate);
QObject::connect(ui->actionDiscord, &QAction::triggered, this, &MainWindow::discord);
QObject::connect(ui->actionDiscord, &QAction::triggered, this, &MainWindow::telegram);
QObject::connect(ui->actionWebsite, &QAction::triggered, this, &MainWindow::website);
@@ -780,7 +780,7 @@ void MainWindow::setupStatusBar() {
});
menu.addAction(tr("Copy block explorer link"), [=]() {
// auto explorer = Settings::getInstance()->getExplorer();
QGuiApplication::clipboard()->setText("https://explorer.myhush.org/tx/" + txid);
QGuiApplication::clipboard()->setText("https://explorer.hush.is/tx/" + txid);
});
menu.addAction(tr("View tx on block explorer"), [=]() {
@@ -852,7 +852,7 @@ void MainWindow::setupSettingsModal() {
settings.chkFetchPrices->setChecked(Settings::getInstance()->getAllowFetchPrices());
// List of default servers
settings.cmbServer->addItem("https://lite.myhush.org");
settings.cmbServer->addItem("https://lite.hush.is");
settings.cmbServer->addItem("6onaaujm4ozaokzu.onion:80");
@@ -906,13 +906,13 @@ void MainWindow::addressBook() {
AddressBook::open(this);
}
void MainWindow::discord() {
QString url = "https://myhush.org/discord/";
void MainWindow::telegram() {
QString url = "https://hush.is/telegram/";
QDesktopServices::openUrl(QUrl(url));
}
void MainWindow::website() {
QString url = "https://myhush.org";
QString url = "https://hush.is";
QDesktopServices::openUrl(QUrl(url));
}
@@ -1429,7 +1429,7 @@ void MainWindow::setupTransactionsTab() {
}
menu.addAction(tr("Copy block explorer link"), [=]() {
// auto explorer = Settings::getInstance()->getExplorer();
QGuiApplication::clipboard()->setText("https://explorer.myhush.org/tx/" + txid);
QGuiApplication::clipboard()->setText("https://explorer.hush.is/tx/" + txid);
});
menu.addAction(tr("View on block explorer"), [=] () {

View File

@@ -180,7 +180,7 @@ private:
void setMemoEnabled(int number, bool enabled);
void donate();
void discord();
void telegram();
void website();
void addressBook();
void importPrivKey();

View File

@@ -264,27 +264,16 @@ void Settings::saveRestoreTableHeader(QTableView* table, QDialog* d, QString tab
}
QString Settings::getDefaultServer() {
return "https://lite.myhush.org";
return "https://lite.hush.is";
}
void Settings::openAddressInExplorer(QString address) {
QString url;
if (Settings::getInstance()->isTestnet()) {
url = "https://chain.so/address/hushTEST/" + address;
} else {
url = "https://explorer.myhush.org/address/" + address;
}
QString url = "https://explorer.hush.is/address/" + address;
QDesktopServices::openUrl(QUrl(url));
}
void Settings::openTxInExplorer(QString txid) {
QString url;
if (Settings::getInstance()->isTestnet()) {
url = "https://chain.so/tx/hushTEST/" + txid;
}
else {
url = "https://explorer.myhush.org/tx/" + txid;
}
QString url = "https://explorer.hush.is/tx/" + txid;
QDesktopServices::openUrl(QUrl(url));
}

View File

@@ -1,3 +1,3 @@
// Copyright 2019-2021 The Hush developers
// Released under the GPLv3
#define APP_VERSION "1.3.11"
#define APP_VERSION "1.3.12"

View File

@@ -127,7 +127,7 @@ void WormholeClient::connect() {
qDebug() << "Invalid websocket object!";
}
m_webSocket->open(QUrl("wss://wormhole.myhush.org:443"));
m_webSocket->open(QUrl("wss://wormhole.hush.is:443"));
//m_webSocket->open(QUrl("ws://127.0.0.1:7070"));
}