Skip to content

Latest commit

 

History

History
51 lines (35 loc) · 2.42 KB

README.md

File metadata and controls

51 lines (35 loc) · 2.42 KB

Delegatable Anonymous Credentials (Delanocreds) Workspace

The Delegateable Anonymous Credentials (DAC) system. A system for issuing and verifying anonymous credentials that can be delegated to other parties.

Delano

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.
  • 🟩🟩🟩 issue
  • 🟩🟩🟩 offer
  • 🟩🟩🟩 accept
  • 🟩🟩🟩 prove
  • 🟩🟩🟩 verify

Run Demo Binary

See how fast it creates and verifies credentials.

cargo run --release

Tests

Workspace and integration tests are located in ./tests and can be run with:

cargo test --workspace

When 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-unknown

Build Wasm

Because 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