Merge pull request 'Beta release' (#79) from rav001 into dev041

Reviewed-on: #79
This commit is contained in:
pitmutt 2024-05-10 13:19:53 +00:00 committed by Vergara Technologies LLC
commit af1ee16408
Signed by: Vergara Technologies LLC
GPG key ID: 99DB473BB4715618
4 changed files with 20 additions and 27 deletions

View file

@ -13,19 +13,25 @@
[![Please don't upload to GitHub](https://nogithub.codeberg.page/badge.svg)](https://nogithub.codeberg.page) ![](https://img.shields.io/badge/License-MIT-green [![Please don't upload to GitHub](https://nogithub.codeberg.page/badge.svg)](https://nogithub.codeberg.page) ![](https://img.shields.io/badge/License-MIT-green
) )
Zenith is a command-line interface for the Zcash Full Node (`zcashd`). It has the following features: Zenith is a wallet for the [Zebra](https://zfnd.org/zebra/) Zcash node . It has the following features:
- Listing transparent and shielded addresses and balances known to the node, including viewing-only. - Creating new wallets.
- Creating new accounts.
- Creating new Unified Addresses.
- Listing transactions for specific addresses, decoding memos for easy reading. - Listing transactions for specific addresses, decoding memos for easy reading.
- Copying addresses to the clipboard. - Copying addresses to the clipboard.
- Creating new Unified Addresses.
- Sending transactions with shielded memo support. - Sending transactions with shielded memo support.
## Installation ## Installation
- Install dependencies: - Install dependencies:
- [Stack](https://docs.haskellstack.org/en/stable/README/#how-to-install) - [Cabal](https://www.haskell.org/cabal/#install-upgrade)
- [Zcash Full Node v.5.0.0](https://zcash.readthedocs.io/en/latest/rtd_pages/zcashd.html#install) - [Zebra](https://zfnd.org/zebra/)
- [Cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html)
- Install `cargo-c`:
```shell
cargo install cargo-c
```
- `xclip` - `xclip`
- `libsecp256k1-dev` - `libsecp256k1-dev`
- `libxss-dev` - `libxss-dev`
@ -47,30 +53,16 @@ cabal install
## Configuration ## Configuration
- Copy the sample `zenith.cfg` file to a location of your choice and update the values of the user and password for the `zcashd` node. These values can be found in the `zcash.conf` file for the Zcash node. - Copy the sample `zenith.cfg` file to your home directory and update the values of your Zebra host and port.
## Usage ## Usage
From the location where the configured `zenith.cfg` file is placed, use `zenith` to start. **Note:** This is beta software under active development. We recommend to use it on testnet. Zenith runs on the network Zebra is running, to use the testnet you need to configure your Zebra node to run on testnet.
Zenith will attempt to connect to the node and check compatibility. Connections to `zcashd` versions less than 5.0.0 will fail. From the location where the configured `zenith.cfg` file is placed, use `zenith cli` to start.
### Available commands Zenith will attempt to connect to the node and start up, the app will guide you through the creation of the first wallet.
- `?`: Lists available commands.
- `list`: Lists all transparent and shielded addresses and their balance.
- Notes about balances:
- Addresses from an imported viewing key will list a balance but it may be inaccurate, as viewing keys cannot see ZEC spent out of that address.
- Balances for Unified Addresses *belonging to the same account* are shared. Zenith will list the full account balances for each of the UAs in the account.
- `txs <id>`: Lists all transactions belonging to the address corresponding to the `id` given, in chronological order.
- `copy`: Copies the selected address to the clipboard.
- `new`: Prompts the user for the option to include a transparent receiver, a Sapling receiver or both. An Orchard receiver is always included.
- `send`: Prompts the user to prepare an outgoing transaction, selecting the source address, validating the destination address, the amount and the memo.
- If the source is a transparent address, the privacy policy is set to `AllowRevealedSenders`, favoring the shielding of funds when sent to a UA.
- If the source is a shielded address, the privacy policy is set to `AllowRevealedAmounts`, favoring the move of funds from legacy shielded pools to Orchard.
- `uri`: Prompts the user to select the source account and to enter a [ZIP-321](https://zips.z.cash/zip-0321) compliant URI to generate and send a transaction.
- `exit`: Ends the session.
### Support ### Support
If you would like to support the development of Zenith, please visit our [Free2Z](https://free2z.com/zenith-full-node-cli) page. If you would have any questions or suggestions, please join us on our [Support channel](https://matrix.to/#/#support:vergara.tech)

View file

@ -221,7 +221,6 @@ main = do
} }
(root nodeUser nodePwd) (root nodeUser nodePwd)
"cli" -> runZenithCLI myConfig "cli" -> runZenithCLI myConfig
"sync" -> testSync myConfig
"rescan" -> clearSync myConfig "rescan" -> clearSync myConfig
_ -> printUsage _ -> printUsage
else printUsage else printUsage
@ -232,3 +231,4 @@ printUsage = do
putStrLn "Available commands:" putStrLn "Available commands:"
putStrLn "legacy\tLegacy CLI for zcashd" putStrLn "legacy\tLegacy CLI for zcashd"
putStrLn "cli\tCLI for zebrad" putStrLn "cli\tCLI for zebrad"
putStrLn "rescan\tRescan the existing wallet(s)"

View file

@ -346,7 +346,8 @@ drawUI s = [splashDialog s, helpDialog s, displayDialog s, inputDialog s, ui s]
titleAttr titleAttr
(str (str
" _____ _ _ _ \n|__ /___ _ __ (_) |_| |__\n / // _ \\ '_ \\| | __| '_ \\\n / /| __/ | | | | |_| | | |\n/____\\___|_| |_|_|\\__|_| |_|") <=> " _____ _ _ _ \n|__ /___ _ __ (_) |_| |__\n / // _ \\ '_ \\| | __| '_ \\\n / /| __/ | | | | |_| | | |\n/____\\___|_| |_|_|\\__|_| |_|") <=>
C.hCenter (withAttr titleAttr (str "Zcash Wallet v0.5.0.0")) <=> C.hCenter
(withAttr titleAttr (str "Zcash Wallet v0.5.1.0-beta")) <=>
C.hCenter (withAttr blinkAttr $ str "Press any key...")) C.hCenter (withAttr blinkAttr $ str "Press any key..."))
else emptyWidget else emptyWidget
capCommand :: String -> String -> Widget Name capCommand :: String -> String -> Widget Name

View file

@ -1,6 +1,6 @@
cabal-version: 3.0 cabal-version: 3.0
name: zenith name: zenith
version: 0.5.0.0 version: 0.5.1.0-beta
license: MIT license: MIT
license-file: LICENSE license-file: LICENSE
author: Rene Vergara author: Rene Vergara