Directory Structure
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
└── types
The 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.rs
The 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
.