zakura-client-sqlite 0.1.0-rc9

An SQLite-based Zcash light client
docs.rs failed to build zakura-client-sqlite-0.1.0-rc9
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: zakura-client-sqlite-0.1.0-rc7

Security Disclaimer

This is a beta build, and is currently under active development. Please be advised of the following:

  • This code currently is not audited by an external security auditor, use it at your own risk.
  • The code has not been subjected to thorough review by engineers at the Electric Coin Company.
  • We are actively changing the codebase and adding features where/when needed.

zcash_client_sqlite

This library contains APIs that collectively implement a Zcash light client in an SQLite database.

One-time IVKs

With the orchard feature, WalletDb keeps one-time IVKs: a durable registry of derived refund and incoming keys, their scanning, seed recovery through receiver-directory sweeps, and spending. WalletDb implements the backend's OneTimeIvkRead and OneTimeIvkWrite, so a wallet scans with scan_cached_blocks_with_one_time_ivks, and the restore protocol's OneTimeIvkRestoreRead and OneTimeIvkRestoreWrite. Compact scanning and software spending retain each note's derived key; change uses ordinary account keys. The wallet::one_time_ivk rustdoc lists the calls a wallet makes; swap issuance, operations and closing are in wallet::one_time_ivk::swap. The zakura-one-time-ivk README describes the key derivation and refund memo.

A restore sweep credits a directory-reported payment only after the wallet authenticates its ciphertext, verifies its inclusion against its own chain, and checks its spend state against locally retained Ironwood nullifiers. Incomplete evidence leaves the payment queued without crediting balance, and a directory failure never queues a public replay. zakura-pir-receiver runs these sweeps against a receiver directory.

License

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.