Here's the directory structure for Rust SDK tutorial.
βββ Cargo.lock
βββ cargo-test.sh
βββ Cargo.toml
βββ download-so.sh
βββ generate-docs.sh
βββ lib
β βββ libdvr_client.so
βββ localization
β βββ en-US.ftl
β βββ id-ID.ftl
βββ privacy-apps
β βββ client_utils
β βββ dvr_types
βββ README.md
βββ rust-toolchain.toml
βββ target
β βββ CACHEDIR.TAG
β βββ debug
β βββ release
β βββ tmp
βββ test
β βββ data
βββ test.sh
βββ zkpass-core
β βββ Cargo.toml
β βββ src
βββ zkpass-demo
β βββ Cargo.toml
β βββ src
β βββ test
β βββ tests
βββ zkpass-query
βββ risc0
βββ sp1
βββ typesThe privacy-apps components :
DVR types provide the necessary definitions for developers to interact with libdvr_client.so.
Client utils contain FFI helpers for working with DVR types.
zkpass-demo
βββ Cargo.toml
βββ src
β βββ data_holder.rs
β βββ data_issuer.rs
β βββ helper.rs
β βββ lib_loader.rs
β βββ main.rs
β βββ proof_verifier.rs
β βββ sample_keys.rs
β βββ sample_proof.rs
β βββ test.rs
βββ test
β βββ data
β βββ multiple
βββ tests
βββ integration_test.rsThe zkpass-demo components :
data_holder.rs: Handles the entire process, from generating tokens to verifying proofs.
data_issuer.rs: Manages the process of generating user data tokens.
proof_verifier.rs: Handles the generation of DVR tokens and the proof verification process.
lib_loader.rs: Contains the detailed logic for interacting with libdvr_client.so.