Rust library and reference implementation of the Anoncreds V1.0 specification.
The AnonCreds (Anonymous Credentials) specification is based on the open source verifiable credential implementation of AnonCreds that has been in use since 2017, initially as part of the Hyperledger Indy open source project and now in the Hyperledger AnonCreds project. The extensive use of AnonCreds around the world has made it a de facto standard for ZKP-based verifiable credentials, and this specification is the formalization of that implementation.
Anoncreds-rs exposes three main parts: issuer
,
prover
and
verifier
.
- Create a schema
- Create a credential definition
- Create a revocation registry definition
- Create a revocation status list
- Update a revocation status list
- Update a revocation status list's timestamp
- Create a credential offer
- Create a credential
- Create a credential request
- Process an incoming credential
- Create a presentation
- Create, and update, a revocation state
- Create, and update, a revocation state with a witness
- Verify a presentation
- generate a nonce
Anoncreds is, soon, available as a standalone library in Rust, but also via wrappers.
Language | Directory | Status |
---|---|---|
Node.js | javascript | ✅ |
React Native | javascript | ✅ |
Python | python | 🚧 |
Go | go | ❌ |
The initial implementation of anoncreds-rs
is derived from indy-shared-rs
that was developed by the Verifiable Organizations Network (VON) team based at
the Province of British Columbia, and derives largely from the implementations
within Hyperledger Indy-SDK. To
learn more about VON and what's happening with decentralized identity in
British Columbia, please go to https://vonx.io.
Pull requests are welcome! Please read our contributions guide and submit your PRs. We enforce developer certificate of origin (DCO) commit signing. See guidance here.
We also welcome issues submitted about problems you encounter in using
anoncreds-rs
or any of the wrappers.