This repo provides both a library for zingo-mobile, as well as an included cli application to interact with zcashd via lightwalletd.
If you believe you have discovered a security issue, please contact us at:
zingodisclosure@proton.me
zingo-cli
is a command line lightwalletd-proxy client. To use it, see "compiling from source" below. Releases are currently only provisional, we will update the README as releases come out.
Zingo-CLI does automatic note and utxo management, which means it doesn't allow you to manually select which address to send outgoing transactions from. It follows these principles:
rustup update
to get the latest version of Rust if you already have it installedrustup component add rustfmt
to add rustfmtsudo apt install build-essential gcc
sudo apt install protobuf-compiler
sudo apt install libssl-dev
git clone https://github.com/zingolabs/zingolib.git
cd zingolib
cargo build --release --package zingo-cli
./target/release/zingo-cli --data-dir /path/to/data_directory/
This will launch the interactive prompt. Type help
to get a list of commands.
./zingo-cli --server http://127.0.0.1:9067
~/.zcash/zingo-wallet.debug.log
. A default wallet is stored in ~/.zcash/zingo-wallet.dat
lightwalletd
server is https://mainnet.lightwalletd.com:9067/. To change this, you can modify the DEFAULT_SERVER
const in config/src/lib.rs
You can also run zingo-cli
in non-interactive mode by passing the command you want to run as an argument. For example, zingo-cli addresses
will list all wallet addresses and exit.
Run zingo-cli help
to see a list of all commands.
Here are some CLI arguments you can pass to zingo-cli
. Please run zingo-cli --help
for the full list.
--data-dir
: uses the specified path as data directory. This is required when not using the --regtest
option.
./zingo-cli --data-dir /path/to/data_directory/
will use the provided directory to store zingo-wallet.dat
and logs. If the provided directory does not exist, it will create it.--server
: Connect to a custom zcash lightwalletd server.
./zingo-cli --data-dir /path/to/data_directory/ --server 127.0.0.1:9067
--seed
: Restore a wallet from a seed phrase. Note that this will fail if there is an existing wallet. Delete (or move) any existing wallet to restore from the 24-word seed phrase--birthday
: Specify wallet birthday when restoring from seed. This is the earliest block height where the wallet has a transaction.
./zingo-cli --data-dir /path/to/data_directory/ --seed "twenty four words seed phrase" --birthday 1234567
--recover
: Attempt to recover the seed phrase from a corrupted walletThere is an experimental feature flag available with zingo-cli
, in which the cli works in regtest mode, by also locally running zcashd
and lightwalletd
.
For a relatively recent user experience please see: https://free2z.cash/zingo-cli-in-regtest-mode
Please see docs/TEST_REGTEST.md
for a detailed explanation.