update for dragonx binary changes, added monitor script
This commit is contained in:
59
README.md
59
README.md
@@ -1,21 +1,20 @@
|
||||
# Overview
|
||||
|
||||
Hush Lightwalletd is a fork of [lightwalletd](https://github.com/adityapk00/lightwalletd) original from Zcash (ZEC).
|
||||
DragonX Lightwalletd is a fork of [Hush lightwalletd](https://git.hush.is/hush/lightwalletd) which is itself a fork of [lightwalletd](https://github.com/adityapk00/lightwalletd) originally from Zcash (ZEC).
|
||||
|
||||
It is a backend service that provides a bandwidth-efficient interface to the Hush blockchain for [SilentDragonLite cli](https://git.hush.is/hush/silentdragonlite-light-cli) and [SilentDragonLite](https://git.hush.is/hush/SilentDragonLite).
|
||||
It is a backend service that provides a bandwidth-efficient interface to the DragonX blockchain for light wallet clients.
|
||||
|
||||
## Changes from upstream lightwalletd
|
||||
This version of lightwalletd extends lightwalletd and:
|
||||
## Features
|
||||
|
||||
* Adds support for HUSH
|
||||
* Adds support for transparent addresses
|
||||
* Adds several new RPC calls for lightclients
|
||||
* Support for DragonX (standalone chain with `dragonxd`)
|
||||
* Support for transparent addresses
|
||||
* Several RPC calls for light clients
|
||||
* Lots of perf improvements
|
||||
* Replaces SQLite with in-memory cache for Compact Blocks
|
||||
* Replace local Txstore, delegating Tx lookups to hushd
|
||||
* Remove the need for a separate ingestor
|
||||
* In-memory cache for Compact Blocks (replaces SQLite)
|
||||
* Tx lookups delegated to dragonxd
|
||||
* No separate ingestor needed
|
||||
|
||||
## Running your own SDL lightwalletd
|
||||
## Running your own DragonX lightwalletd
|
||||
|
||||
#### 0. First, install Go
|
||||
You will need Go >= 1.13 which you can download from the official [download page](https://golang.org/dl/) or install via your OS package manager.
|
||||
@@ -28,15 +27,15 @@ If you're using Ubuntu or Debian, try:
|
||||
$ sudo apt install golang
|
||||
```
|
||||
|
||||
#### 1. Run a Hush node.
|
||||
Either compile or build the [Hush Daemon (hushd)](https://git.hush.is/hush/hush3).
|
||||
#### 1. Run a DragonX node.
|
||||
Install the DragonX daemon (`dragonxd`) and CLI (`dragonx-cli`).
|
||||
|
||||
Next, change your HUSH3.conf file to something like the following:
|
||||
Next, ensure your DRAGONX.conf file (at `~/.hush/DRAGONX/DRAGONX.conf`) has something like the following:
|
||||
|
||||
```
|
||||
rpcuser=user-CHANGETHIS
|
||||
rpcpassword=pass-CHANGETHIS
|
||||
rpcport=18031
|
||||
rpcport=21769
|
||||
server=1
|
||||
txindex=1
|
||||
rpcworkqueue=256
|
||||
@@ -44,7 +43,7 @@ rpcallowip=127.0.0.1
|
||||
rpcbind=127.0.0.1
|
||||
```
|
||||
|
||||
Then start `hushd` in your command window. You might need to run with `-reindex` the first time if you are enabling the `txindex` or `insightexplorer` options for the first time. The reindex might take a while.
|
||||
Then start `dragonxd`. You might need to run with `-reindex` the first time if you are enabling the `txindex` option for the first time. The reindex might take a while.
|
||||
|
||||
#### 2. Compile lightwalletd
|
||||
Run the build script.
|
||||
@@ -77,9 +76,8 @@ server {
|
||||
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
|
||||
|
||||
location / {
|
||||
# Replace localhost:9067 with the address and port of your gRPC server if using a custom port
|
||||
# Hush Smart Chains should use a different port than 9067 so it doesn't conflict with HUSH lightwalletd
|
||||
grpc_pass grpc://your_host.net:9067;
|
||||
# Replace localhost:9069 with the address and port of your gRPC server if using a custom port
|
||||
grpc_pass grpc://your_host.net:9069;
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -87,28 +85,18 @@ server {
|
||||
Then run the lightwalletd frontend with the following (Note: we use the "-no-tls" option as we are using NGINX as a reverse proxy and letting it handle the TLS authentication for us instead):
|
||||
|
||||
```
|
||||
./lightwalletd -bind-addr your_host.net:9067 -conf-file ~/.hush/HUSH3/HUSH3.conf -no-tls
|
||||
./lightwalletd -bind-addr your_host.net:9069 -conf-file ~/.hush/DRAGONX/DRAGONX.conf -no-tls
|
||||
```
|
||||
|
||||
##### Option B: "Let's Encrypt" certificate just using lightwalletd without NGINX
|
||||
The other option is to configure lightwalletd to handle its own TLS authentication. Once you have a certificate that you want to use (from a certificate authority), pass the certificate to the frontend as follows:
|
||||
|
||||
```
|
||||
./lightwalletd -bind-addr 127.0.0.1:9067 -conf-file ~/.hush/HUSH3/HUSH3.conf -tls-cert /etc/letsencrypt/live/YOURWEBSITE/fullchain.pem -tls-key /etc/letsencrypt/live/YOURWEBSITE/privkey.pem
|
||||
./lightwalletd -bind-addr 127.0.0.1:9069 -conf-file ~/.hush/DRAGONX/DRAGONX.conf -tls-cert /etc/letsencrypt/live/YOURWEBSITE/fullchain.pem -tls-key /etc/letsencrypt/live/YOURWEBSITE/privkey.pem
|
||||
```
|
||||
|
||||
#### 4. Point the `silentdragonlite-cli` to this server
|
||||
You should start seeing the frontend ingest and cache the Hush blocks after ~15 seconds.
|
||||
|
||||
Now, connect to your server! (Substitute with your own below)
|
||||
```
|
||||
git clone https://git.hush.is/hush/silentdragonlite-cli
|
||||
cd silentdragonlite-cli
|
||||
cargo build --release
|
||||
./target/release/silentdragonlite-cli --server https://lite.example.org
|
||||
```
|
||||
|
||||
* If you have trouble compiling silentdragonlite-cli, then [please refer to it's separate documentation here](https://git.hush.is/hush/silentdragonlite-cli) on how to build it and what pre-requisites need to be installed.
|
||||
#### 4. Point a light wallet client to this server
|
||||
You should start seeing the frontend ingest and cache the DragonX blocks after ~15 seconds.
|
||||
|
||||
## Lightwalletd Command-line Options
|
||||
|
||||
@@ -116,7 +104,7 @@ These are the current different command line options for lightwalletd:
|
||||
|
||||
| CLI option | Default | What it does |
|
||||
|------------|:--------------:|------------------------------:|
|
||||
| -bind-addr | 127.0.0.1:9067 | address and port to listen on |
|
||||
| -bind-addr | 127.0.0.1:9069 | address and port to listen on |
|
||||
| -tls-cert | blank | the path to a TLS certificate |
|
||||
| -tls-key | blank | the path to a TLS key file |
|
||||
| -no-tls | false | Disable TLS, serve un-encrypted traffic |
|
||||
@@ -126,7 +114,7 @@ These are the current different command line options for lightwalletd:
|
||||
| -cache-size| 40000 | number of blocks to hold in the cache |
|
||||
|
||||
## Support
|
||||
For support or other questions, join us on [Telegram](https://hush.is/telegram), or tweet at [@HushIsPrivacy](https://twitter.com/HushIsPrivacy), or toot at our [Mastodon](https://fosstodon.org/@myhushteam) or join [Telegram Support](https://hush.is/telegram_support).
|
||||
For support or other questions, join us on [Telegram](https://hush.is/telegram) or join [Telegram Support](https://hush.is/telegram_support).
|
||||
|
||||
## License
|
||||
GPLv3 or later
|
||||
@@ -134,3 +122,4 @@ GPLv3 or later
|
||||
# Copyright
|
||||
|
||||
2016-2022 The Hush Developers
|
||||
2024-2026 The DragonX Developers
|
||||
|
||||
Reference in New Issue
Block a user