Go to file
Kris Nuttycombe 0718c6f158
Merge pull request #99 from zcash/rust-updates
Rust updates
2025-06-05 21:33:19 +01:00
.github/workflows
doc
src
.gitignore
Cargo.lock
Cargo.toml
LICENSE-APACHE
LICENSE-MIT
README.md
rust-toolchain.toml

README.md

zcash-devtool

This repository contains a CLI app for working with Zcash transactions and the Zcash blockchain, including stateless Zcash wallet functionality based upon the zcash_client_backend and zcash_client_sqlite crates. It is built by developers, for developers for use in prototyping Zcash functionality, and should not be considered production-ready. The command-line API that this tool exposes can and will change at any time and without warning.

Security Warnings

DO NOT USE THIS IN PRODUCTION!!!

This app has not been written with security in mind. It does however have affordances such as encryption of the mnemonic seed phrases that should make it viable for small scale experimentation, at your own risk.

Usage

No binary artifacts are provided for this crate; it is generally used via cargo run as follows:

To obtain the help docs:

cargo run --release -- --help

To obtain the help for a specific command (in this case, init)

cargo run --release -- --help init

To create a new empty testnet wallet:

cargo run --release -- -w <wallet_dir> init
cargo run --release -- -w <wallet_dir> sync

See the help docs for init for additional information, including for how to initialize a mainnet wallet. Initializing a mainnet wallet will require specifying a mainnet lightwallet server, e.g.

cargo run --release -- -w <wallet_dir> init -n "main" -s "zecrocks"
cargo run --release -- -w <wallet_dir> sync -s "zecrocks"

Whenever you update the zcash_client_sqlite dependency, in order to run necessary migrations:

cargo run --release -- -w <wallet_dir> upgrade

If you want to run with debug or trace logging:

RUST_LOG=debug cargo run --release -- -w <wallet_dir> <command>

Video tutorial of Zcash Devtool

Kris Nuttycombe (@nuttycom) presented this tool during ZconVI. The session is available on Youtube here

Youtube preview of the ZconVI presentation Zcash-devtool: the Zcash development multitool

The code developed in this demo resulted in this pull request.

Documentation

For a step-by-step guide for how to get started using these tools, see this walkthrough.

License

All code in this workspace is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.