MCPcopy Index your code
hub / github.com/anoncreds/anoncreds-rs

github.com/anoncreds/anoncreds-rs @v0.2.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.2.3 ↗ · + Follow
1,002 symbols 3,019 edges 82 files 55 documented · 5%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

anoncreds-rs

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.

Library

Anoncreds-rs exposes three main parts: issuer, prover and verifier.

Issuer

Prover / Holder

Verifier

Wrappers

Anoncreds is, soon, available as a standalone library in Rust, but also via wrappers.

Language Location Status
Node.js javascript
React Native javascript
Python python

Credit

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.

Contributing

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.

License

Apache License Version 2.0

Extension points exported contracts — how you extend this code

Validatable (Interface)
Trait for data types which need validation after being loaded from external sources TODO: this should not default to Ok( [16 …
src/utils/validation.rs
ToJson (Interface)
(no doc) [2 implementers]
src/ffi/object.rs
RevocableCredential (Interface)
(no doc) [2 implementers]
tests/utils/mock.rs
TailsWriter (Interface)
(no doc) [1 implementers]
src/services/tails.rs
AnyAnoncredsObject (Interface)
(no doc)
src/ffi/object.rs

Core symbols most depended-on inside this repo

_random_string
called by 486
src/utils/query.rs
to_string
called by 158
src/utils/query.rs
map
called by 83
src/utils/query.rs
get
called by 79
src/data_types/w3c/context.rs
as_ref
called by 67
src/data_types/nonce.rs
try_into
called by 61
src/data_types/link_secret.rs
load
called by 51
wrappers/python/anoncreds/types.py
load
called by 44
src/ffi/object.rs

Shape

Function 478
Method 351
Class 145
Enum 23
Interface 5

Languages

Rust80%
Python19%
C++1%

Modules by API surface

src/utils/query.rs148 symbols
wrappers/python/anoncreds/bindings.py100 symbols
wrappers/python/anoncreds/types.py85 symbols
src/services/verifier.rs52 symbols
tests/utils/mock.rs50 symbols
src/services/w3c/verifier.rs45 symbols
src/services/prover.rs37 symbols
src/data_types/w3c/proof.rs35 symbols
src/data_types/pres_request.rs27 symbols
src/data_types/nonce.rs26 symbols
src/services/types.rs23 symbols
src/ffi/object.rs21 symbols

For agents

$ claude mcp add anoncreds-rs \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page