Compare commits

..

95 commits

Author SHA1 Message Date
1dc71c0d83
Merge branch 'dev041' 2024-05-10 08:28:51 -05:00
af1ee16408
Merge pull request 'Beta release' (#79) from rav001 into dev041
Reviewed-on: #79
2024-05-10 13:19:53 +00:00
ad1c910c95
Merge branch 'dev041' into rav001 2024-05-10 13:19:36 +00:00
5f0a7dc6b0
Version bump 2024-05-09 14:09:35 -05:00
dd20442d44
Update installation instructions 2024-05-09 14:08:49 -05:00
f71426d69f
Merge pull request 'Sending transactions' (#78) from rav001 into dev041
Reviewed-on: #78
2024-05-09 15:48:24 +00:00
e20f253cda
Improve the fee calculation 2024-05-09 10:44:07 -05:00
dcbb2fac4a
Implement background sync 2024-05-05 09:49:55 -05:00
1ba188ec24
Merge pull request 'Implement transaction creation' (#77) from rav001 into dev041
Reviewed-on: #77
2024-05-03 12:15:11 +00:00
84c067ec79
Implement transaction creation 2024-05-03 07:10:08 -05:00
8ec2fe31a4
Merge pull request 'Include display of balance and transactions' (#76) from rav001 into dev041
Reviewed-on: #76
2024-04-25 19:24:59 +00:00
900d4f9da6
Balance display and transaction display 2024-04-25 14:22:44 -05:00
53c18a833b
Fix display of last block scanned 2024-04-24 09:04:56 -05:00
07c1b85829
Add balance display to UI 2024-04-24 08:58:45 -05:00
52ac50e30c
Implement per-address tx display 2024-04-24 07:42:35 -05:00
29bed14f7c
Implement transaction display 2024-04-21 07:07:51 -05:00
c6da52f594
Implement source note discovery 2024-04-17 20:28:47 -05:00
9471a861c6
Add function to check commitment trees 2024-04-09 13:32:39 -05:00
0543c1141c
Implement Shielded Output scanning 2024-04-08 15:54:09 -05:00
5ce822e52f
Migrate to Esqueleto 2024-04-07 09:25:25 -05:00
a36de0a307
Merge pull request 'Enhancements to blockchain scanner' (#74) from rav001 into dev041
Reviewed-on: #74
2024-04-04 19:39:06 +00:00
865f7241b1
Implement progress bar for zenscan 2024-04-04 14:35:08 -05:00
bf192a77f6
Add check of existing db for scan 2024-04-04 13:21:55 -05:00
f2ab12238d
Merge pull request 'Implements scanning of transactions' (#73) from rav001 into dev041
Reviewed-on: #73
2024-04-03 20:20:47 +00:00
a79b86cc05
Implements scanning of transactions 2024-04-03 15:14:14 -05:00
24fd6e2e95
Merge pull request 'Implements scanning of transparent transactions' (#72) from rav001 into dev041
Reviewed-on: #72
2024-03-27 18:40:58 +00:00
b3e33b798b
Update to ZH 0.5.2.0 2024-03-27 13:38:02 -05:00
f386a6b974
Merge branch 'dev041' into rav001 2024-03-22 15:40:22 -05:00
de211d03b0
Add Zenith Scanner (#71)
Reviewed-on: #71
Co-authored-by: Rene Vergara <rene@vergara.network>
Co-committed-by: Rene Vergara <rene@vergara.network>
2024-03-22 20:39:37 +00:00
0a2e585eb9
Add Zenith Scanner module 2024-03-22 15:36:43 -05:00
60eee8c88d
Merge branch 'dev041' into rav001 2024-03-19 16:08:38 -05:00
75ae03458f
First commit from dev041 (#70)
Add zebra_openapi.yaml file to the zenith folder.

Co-authored-by: Rene Vergara <rene@vergara.network>
Reviewed-on: #70
Co-authored-by: Rene V. Vergara <rvergara59@protonmail.com>
Co-committed-by: Rene V. Vergara <rvergara59@protonmail.com>
2024-03-19 21:07:46 +00:00
6b48f49760
Add function process a block 2024-03-19 15:48:50 -05:00
25c6baeec1
Add new config parameter for data store 2024-03-19 15:11:32 -05:00
22f889bf86
Add new raw tx table 2024-03-19 15:09:37 -05:00
826ed5b697
Add new Scanner module 2024-03-19 15:09:12 -05:00
c227f80dcc
Add DB wrapper for HexString 2024-03-19 15:08:31 -05:00
34cffa84bc
Merge pull request 'Implement display of seed phrase' (#69) from rav001 into dev041
Reviewed-on: #69
2024-03-18 17:27:16 +00:00
246fa05d11
Bump version 2024-03-17 14:40:49 -05:00
466491a7d0
Add command guides to screens 2024-03-17 14:38:26 -05:00
bd32eb4f38
Implement internal change addresses 2024-03-17 07:17:52 -05:00
2d119d24f1
Upgrade to Zcash-Haskell 0.5 2024-03-14 12:48:39 -05:00
856ade051e
Implement wallet and account switching 2024-03-07 14:20:06 -06:00
a366d3a87b
Change display of UAs per ZIP-316 2024-03-07 12:34:55 -06:00
e1262bf5f7
Add error handling for account creation 2024-03-07 08:01:29 -06:00
b33ba29c91
Implement address creation 2024-03-05 12:34:30 -06:00
7794028b55
Merge pull request 'Implement Account creation' (#68) from rav001 into dev041
Reviewed-on: #68
2024-03-01 20:59:57 +00:00
cb63b786e8
Merge branch 'dev041' into rav001 2024-03-01 20:59:42 +00:00
c522c4c3a2
Implement Account creation 2024-03-01 14:57:13 -06:00
642908a0e0
Add signature for adding accounts 2024-03-01 07:33:30 -06:00
52d3297fae
Check for accounts during startup 2024-02-29 15:02:58 -06:00
0de5dc4f9c
Avoid creating wallets with the same name 2024-02-28 16:37:43 -06:00
43970a8393
Merge pull request 'New Wallet creation flow' (#67) from rav001 into dev041
Reviewed-on: #67
2024-02-28 21:23:36 +00:00
bb05d269ac
Add wallet creation logic 2024-02-28 15:12:57 -06:00
c5a23d827c
Add tests for Accounts 2024-02-28 15:12:35 -06:00
24e73f87b3
Update installation instructions 2024-02-28 15:11:19 -06:00
488a01c46d
Make input dialog generic 2024-02-27 11:17:36 -06:00
67e303af38
Refactor TUI input dialog 2024-02-27 09:44:17 -06:00
7b7c653d02
Clean up code 2024-02-27 08:41:43 -06:00
ec422c1c55
Add accounts and address tables to model 2024-02-27 08:33:12 -06:00
611f1fdd20
Update database file path config variable 2024-02-27 08:32:32 -06:00
7d06439bbb
Merge pull request 'Implements the custom cabal installation of zcash-haskell' (#66) from rav001 into dev041
Reviewed-on: #66
2024-02-26 16:48:43 +00:00
12be74fcd6
Implement new custom cabal build 2024-02-26 09:52:30 -06:00
74b9de2a9c
Update cabal.project 2024-02-25 16:29:57 -06:00
54681e8f0d
Update to new installer of zcash-haskell 2024-02-25 16:23:32 -06:00
cfa81ebb89
Merge pull request 'Update zcash-haskell version' (#65) from rav001 into dev041
Reviewed-on: #65
2024-02-23 01:50:57 +00:00
aaa10aea0f
Update zcash-haskell version 2024-02-22 19:49:11 -06:00
e9aa73a51f
Merge pull request 'Update compilation toolchain to custom Cabal' (#64) from rav001 into dev041
Reviewed-on: #64
2024-02-22 22:10:57 +00:00
5181970e08
Merge branch 'dev041' into rav001 2024-02-22 22:10:16 +00:00
9798f675c0
Replace stack compilation with custom cabal 2024-02-22 16:06:23 -06:00
a21a483ded
Add zcash-haskell submodule 2024-02-22 16:05:08 -06:00
b8ff1eb561
Implement wallet check from DB 2024-02-19 14:05:32 -06:00
e9fd87ef58
Add splash screen to TUI 2024-02-14 12:03:18 -06:00
5fec52bdd0
Add host parameter for Zebra server 2024-02-14 12:02:53 -06:00
9bb5a8422a
Merge pull request 'Implements a help dialog in the TUI' (#63) from rav001 into dev041
Reviewed-on: #63
2024-02-13 22:12:36 +00:00
1022944e67
Implement help dialog 2024-02-13 14:19:05 -06:00
f55a724f99
Merge branch 'dev041' into rav001 2024-02-12 15:40:49 -06:00
4fd06af7fe
Update license to MIT 2024-02-12 15:39:41 -06:00
d37e33de3f
Merge pull request 'Implement connection to Zebra RPC' (#62) from rav001 into dev041
Reviewed-on: #62
2024-02-12 21:29:15 +00:00
268d17c094
Implement functions to make RPC calls to Zebra 2024-02-12 15:14:30 -06:00
3ccee4ecb6
Add new config parameter for Zebra port 2024-02-12 15:09:12 -06:00
e86e4c73ab
Update to new version of ZH 2024-02-12 15:08:36 -06:00
980a7c8901
Merge pull request 'Implement message window' (#61) from rav001 into dev041
Reviewed-on: #61
2024-02-11 20:16:03 +00:00
19afc808ac
Implement message window 2024-02-11 10:33:22 -06:00
9bb42bd7c9
Merge pull request 'CLI enhancements to manage lists of items' (#60) from rav001 into dev041
Reviewed-on: #60
2024-02-09 22:21:44 +00:00
8b815da018
Merge branch 'dev041' into rav001 2024-02-09 22:21:24 +00:00
1b91177a46
CLI enhancements to manage lists of items 2024-02-09 16:18:48 -06:00
80f873cffd
Merge pull request 'Proof-of-concept of brick TUI' (#59) from rav001 into dev041
Reviewed-on: #59
2024-02-08 19:30:06 +00:00
e82a5e17ae
Implement POC of brick 2024-02-08 13:26:54 -06:00
a9a9e824cd
Update to latest version of ZH 2024-02-08 12:33:48 -06:00
19ce971b96
Merge pull request 'fix079: SQLite implementation' (#4) from fix079 into dev041
Reviewed-on: #4
2024-01-23 15:58:31 +00:00
67e70ef1c0
Add TypeOperators pragma 2024-01-23 09:55:24 -06:00
b89ee243b7
Implement DB tests for wallet 2024-01-22 12:58:37 -06:00
9a7f191d1b
Refactor existing code into modules 2024-01-17 12:15:21 -06:00
dabd149df2
Account for transparent change addresses under UA 2024-01-12 08:25:23 -06:00
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