Zecd v0.8.0: Faster sync, and now a library

Two new zecd releases have shipped since we added light wallet mode.

v0.7.0: zecd is a library

We’re really excited about this: you can now run zecd inside your own Rust applications. It’s possibly the quickest way to build a new Zcash application.

zecd::node::NodeBuilder starts a wallet and keeps it in sync in your process. The library provides a typed client with one Rust method for each RPC.

[dependencies]
zecd = { version = "0.8", default-features = false }
let node = zecd::node::NodeBuilder::new(config).start().await?;
let wallet = node.wallet(None);

let addr = wallet.get_new_address(None).await?;
let balance = wallet.get_balance(None).await?;

We can’t wait to see what you build with it!

v0.8.0: Up to 5x Faster Sync

This is a huge performance release for zecd. We benchmarked large test wallets over and over again, developing safe performance improvements to improve sync and spend times.

We started by switching to the performant Zakura Common library after validating its correctness through extensive testing.

Then, we focused on improving sync times for large wallets with many transactions. A lot of optimizations were made to allow zecd to speak to its backends more efficiently.

The results paid off big time. One wallet that took over 18 hours to sync on 0.7.0 now syncs in ten minutes.

Also in v0.8.0:

  • Disable memo syncing with [sync] fetch_memos = false Enable this if your application doesn’t need memos, it can reduce sync times by hours.

  • Tor and Nym support via SOCKS. [backend] proxy sends all of zecd’s traffic through SOCKS5. It avoids DNS leaks and can reach .onion servers.

  • Fleet mode: watch many wallets in one daemon (experimental). A single scan can monitor many watch-only wallets, and you can add wallets without restarting. It’s off by default. This is intended to support the accounting use case of monitoring multiple UFVKs.


Zecd is the fastest way to build a Zcash application

Build on Zcash instantly without a local node, pointing zecd at Zec.rocks. Then run your own Zakura or Zebra node for more control when you’re ready to scale.

Try out the latest zecd:

cargo install zecd
zecd --server zecrocks --testnet init
zecd --server zecrocks --testnet

Documentation: https://zecd.org

Full changelog: zecd/CHANGELOG.md at main · zecrocks/zecd · GitHub

Ask your LLM about zecd.

Hey coding agent: Embed zecd in a Rust app as a library, give me a shielded Zcash address, and tell me when a deposit arrives. (https://zecd.org)