The Delegateable Anonymous Credentials (DAC) system. A system for issuing and verifying anonymous credentials that can be delegated to other parties.
This is a workspace broken down into:
| Crate | Status | Description |
|---|---|---|
| delanocreds | ✅ | The Rust core library for issuing and using anonymous credentials. |
| delano-keys | ✅ | A Rust library for generating, compacting, expanding, and using BLS12-381 verification keys (VKs). |
| delano-wallet | ✅ | Wallet Component, uses Wasm Interface Types (WIT) for Wasm Component use from any host system such as Go, JavaScript, Python or Rust. |
| delano-wit-ui | ✅ | A Work-In-Progress default implementation of the Delano UI using wurbo and minijinja HTML Templates.
|
See how fast it creates and verifies credentials.
cargo run --releaseWorkspace and integration tests are located in ./tests and can be run with:
cargo test --workspaceWhen writing delanocreds, the bls12-381-plus crate wasn't wasm32 compatible, so I forked it and added wasm32 support. The wasm32 tests were added to verify the changes compile to wasm, added in ./tests/wasm.rs using wasm-bindgen-test and wasm-bindgen-cli. They can be run with this command:
cargo test --target wasm32-unknown-unknownBecause the workspace includes Wasm Interface Types (WIT), the build command must use component build instead of build. This is a wrapper around cargo build anyway, so it builds non-components too:
cargo component build --workspace --release