Skip to content

rotkonetworks/zcli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zcli

zcash wallet CLI. uses your ssh ed25519 key as wallet seed — no new mnemonics to back up. if you already protect your ssh key, your zcash wallet is already backed up.

also supports standard bip39 mnemonics via --mnemonic.

syncs against zidecar for trustless compact block scanning with ligerito header proofs.

install

cargo install --git https://github.com/rotkonetworks/zcli

usage

# show addresses (uses ~/.ssh/id_ed25519 by default)
zcli address

# receive — prints QR code in terminal
zcli receive

# sync chain (resumes from last position)
zcli sync

# check balance
zcli balance

# shield transparent funds to orchard
zcli shield

# send (z→t or z→z, auto-detected from address)
zcli send -a 0.01 -t u1address...

# send with memo
zcli send -a 0.01 -t u1address... -m "gm"

# use a different ssh key
zcli -i ~/.ssh/id_work balance

# use bip39 mnemonic instead
zcli --mnemonic "abandon abandon ... art" balance

# custom endpoint
zcli --endpoint https://your-zidecar.example.com sync

# json output for scripting
zcli --script balance

key derivation

ssh key mode (default): reads your ed25519 private key, derives a zcash-specific seed via BLAKE2b-512("ZcliWalletSeed" || ed25519_seed). your ssh key passphrase is prompted if the key is encrypted. set ZCLI_PASSPHRASE for non-interactive use.

mnemonic mode: standard bip39 seed derivation, compatible with other zcash wallets.

both modes derive:

  • orchard spending key via ZIP-32 (m/32'/133'/0')
  • transparent key via BIP-44 (m/44'/133'/0'/0/0)

wallet storage

notes and sync state stored in sled at ~/.zcli/wallet. delete to resync from scratch.

privacy

  • trial decryption: downloads all compact blocks, decrypts locally. the server never learns which notes are yours.
  • orchard shielded pool only (no sapling legacy).
  • ZIP-317 fee calculation.

environment variables

variable description
ZCLI_IDENTITY path to ed25519 ssh key (default: ~/.ssh/id_ed25519)
ZCLI_MNEMONIC bip39 mnemonic (overrides ssh key)
ZCLI_ENDPOINT zidecar gRPC endpoint (default: https://zcash.rotko.net)
ZCLI_PASSPHRASE ssh key passphrase (non-interactive)
ZCLI_SCRIPT enable json output

license

MIT

About

zcash wallet CLI — ssh keys as wallet seed

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors