diff --git a/README.md b/README.md index 2c0cfe0..efabca0 100644 --- a/README.md +++ b/README.md @@ -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 ) -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. - Copying addresses to the clipboard. -- Creating new Unified Addresses. - Sending transactions with shielded memo support. ## Installation - Install dependencies: - - [Stack](https://docs.haskellstack.org/en/stable/README/#how-to-install) - - [Zcash Full Node v.5.0.0](https://zcash.readthedocs.io/en/latest/rtd_pages/zcashd.html#install) + - [Cabal](https://www.haskell.org/cabal/#install-upgrade) + - [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` - `libsecp256k1-dev` - `libxss-dev` @@ -47,30 +53,16 @@ cabal install ## 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 -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 - -- `?`: 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 `: 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. +Zenith will attempt to connect to the node and start up, the app will guide you through the creation of the first wallet. ### 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) diff --git a/app/Main.hs b/app/Main.hs index eb13ce7..5911cfc 100644 --- a/app/Main.hs +++ b/app/Main.hs @@ -221,7 +221,6 @@ main = do } (root nodeUser nodePwd) "cli" -> runZenithCLI myConfig - "sync" -> testSync myConfig "rescan" -> clearSync myConfig _ -> printUsage else printUsage @@ -232,3 +231,4 @@ printUsage = do putStrLn "Available commands:" putStrLn "legacy\tLegacy CLI for zcashd" putStrLn "cli\tCLI for zebrad" + putStrLn "rescan\tRescan the existing wallet(s)" diff --git a/src/Zenith/CLI.hs b/src/Zenith/CLI.hs index 4dabde1..73409e8 100644 --- a/src/Zenith/CLI.hs +++ b/src/Zenith/CLI.hs @@ -346,7 +346,8 @@ drawUI s = [splashDialog s, helpDialog s, displayDialog s, inputDialog s, ui s] titleAttr (str " _____ _ _ _ \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...")) else emptyWidget capCommand :: String -> String -> Widget Name diff --git a/zenith.cabal b/zenith.cabal index 12e0b6c..3101182 100644 --- a/zenith.cabal +++ b/zenith.cabal @@ -1,6 +1,6 @@ cabal-version: 3.0 name: zenith -version: 0.5.0.0 +version: 0.5.1.0-beta license: MIT license-file: LICENSE author: Rene Vergara