Compare commits

..

No commits in common. "1dc71c0d834e0b2052dbaa52750df064c7555f27" and "621ffea3d93f3ce0a9b87b0174c6a40bcda622fa" have entirely different histories.

4 changed files with 27 additions and 20 deletions

View file

@ -13,25 +13,19 @@
[![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 wallet for the [Zebra](https://zfnd.org/zebra/) Zcash node . It has the following features: Zenith is a command-line interface for the Zcash Full Node (`zcashd`). It has the following features:
- Creating new wallets. - Listing transparent and shielded addresses and balances known to the node, including viewing-only.
- 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:
- [Cabal](https://www.haskell.org/cabal/#install-upgrade) - [Stack](https://docs.haskellstack.org/en/stable/README/#how-to-install)
- [Zebra](https://zfnd.org/zebra/) - [Zcash Full Node v.5.0.0](https://zcash.readthedocs.io/en/latest/rtd_pages/zcashd.html#install)
- [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`
@ -53,16 +47,30 @@ cabal install
## Configuration ## Configuration
- Copy the sample `zenith.cfg` file to your home directory and update the values of your Zebra host and port. - 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.
## Usage ## Usage
**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. From the location where the configured `zenith.cfg` file is placed, use `zenith` to start.
From the location where the configured `zenith.cfg` file is placed, use `zenith cli` to start. Zenith will attempt to connect to the node and check compatibility. Connections to `zcashd` versions less than 5.0.0 will fail.
Zenith will attempt to connect to the node and start up, the app will guide you through the creation of the first wallet. ### Available commands
- `?`: 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 have any questions or suggestions, please join us on our [Support channel](https://matrix.to/#/#support:vergara.tech) If you would like to support the development of Zenith, please visit our [Free2Z](https://free2z.com/zenith-full-node-cli) page.

View file

@ -221,6 +221,7 @@ 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
@ -231,4 +232,3 @@ 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,8 +346,7 @@ 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 C.hCenter (withAttr titleAttr (str "Zcash Wallet v0.5.0.0")) <=>
(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.1.0-beta version: 0.5.0.0
license: MIT license: MIT
license-file: LICENSE license-file: LICENSE
author: Rene Vergara author: Rene Vergara