Skip to content

nullcopy/zallet-tui

Repository files navigation

zallet-tui

An interactive terminal UI for Zallet, the Zcash wallet RPC.

zallet-tui is a standalone front-end: it is a pure JSON-RPC client that connects to an already-running zallet instance. It is not stateful, and will only represent the state of whichever zallet instance it connects to.

Installation

cargo install --locked --path .

Getting started

This walks through a fresh setup, from configuring Zallet's RPC interface to unlocking the wallet in the TUI. It assumes you have both zallet and zallet-tui installed.

  1. Configure Zallet's RPC interface. Generate an example config if you don't have one (zallet example-config), then make sure it has an [rpc] bind address and add an RPC user. zallet add-rpc-user <username> prints a [[rpc.auth]] block containing a pwhash; add it to your zallet.toml:

    [rpc]
    bind = ["127.0.0.1:28232"]
    
    [[rpc.auth]]
    user = "zallet-tui"
    pwhash = ""   # generated by `zallet add-rpc-user zallet-tui`

    Note the username and the password you chose (NOT the pwhash); zallet-tui needs the plaintext to authenticate.

  2. Give zallet-tui matching credentials and the RPC URL. Generate a starter config with zallet-tui generate-config, then edit it so rpc_url matches the [rpc] bind address above and the [[auth]] user/password match what you configured in step 1:

    rpc_url = "http://127.0.0.1:28232"
    
    [[auth]]
    user = "zallet"
    password = "the-password-you-used-in-step-1"
  3. Initialize the wallet (first-time setup only):

    zallet generate-encryption-identity --passphrase   # encrypts key material; prompts for a passphrase
    zallet init-wallet-encryption
    zallet generate-mnemonic                            # creates the wallet seed

    Remember the encryption-identity passphrase — it is what you use to unlock the wallet.

  4. Start Zallet:

    zallet start
  5. Start the TUI:

    zallet-tui
  6. Unlock the wallet from within the TUI by pressing u (or U) and entering the encryption-identity passphrase from step 3. Once unlocked, balances, addresses, transactions, and sending become available.

If the wallet is still syncing when you launch, the dashboard shows the sync progress; balances and history populate once it catches up.

Usage

See the help dialog for detailed usage and examples:

zallet-tui help

Logging

Because the TUI takes over the terminal, log output is written to a file rather than standard error. By default this is zallet-tui.log in the platform log directory:

  • Linux: $XDG_STATE_HOME/zallet-tui/ (usually ~/.local/state/zallet-tui/)
  • macOS: ~/Library/Logs/zallet-tui/
  • Windows: %LOCALAPPDATA%\zallet-tui\logs\

Use --log-file <PATH> to write elsewhere, and the RUST_LOG environment variable to control verbosity.

License

Licensed under either of

at your option.

About

A text-based UI Zcash wallet built on Zallet

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors