Overview
Indy VDR enables:- Ledger connectivity - Connect to Hyperledger Indy networks
- AnonCreds registry - Read and write schemas, credential definitions, and revocation registries
- DID operations - Create and resolve
did:indyDIDs - Pool management - Manage connections to multiple Indy networks
- Transaction endorsement - Support for transaction author/endorser workflows
Installation
Dependencies
Indy VDR requires:@credo-ts/core- Core functionality@credo-ts/anoncreds- AnonCreds support@hyperledger/indy-vdr-shared- Native Indy VDR library
Registration
Configuration Options
Indy Networks
Common Networks
BCovrin Test Network
Sovrin StagingNet
Sovrin MainNet
Multiple Networks
AnonCreds Operations
Register Schema
Register Credential Definition
Register Revocation Registry
DID Operations
Create did:indy DID
Import Existing DID
If you have an existing Indy DID with keys:Resolve did:indy DID
Endorser Workflow
For networks requiring transaction endorsement:Author Role
Endorser Role
Pool Management
Get Pool Connections
Connect to Pool
Disconnect from Pool
Transaction Author Agreement
Some networks require accepting a Transaction Author Agreement (TAA):Advanced Usage
Custom Pool Requests
Cache Management
Indy VDR caches ledger data for performance:Namespace Convention
TheindyNamespace identifies the network:
bcovrin:test- BCovrin Test Networksovrin- Sovrin MainNetsovrin:staging- Sovrin StagingNetsovrin:builder- Sovrin BuilderNetindicio- Indicio MainNetindicio:test- Indicio TestNet
Best Practices
1. Use Separate Networks for Dev/Prod
2. Handle Network Errors
3. Cache Genesis Transactions
Platform Support
Node.js
React Native
API Reference
Module API
agent.modules.indyVdr.pools- Get all pool connectionsagent.modules.indyVdr.getPoolForNamespace()- Get pool by namespaceagent.modules.indyVdr.endorseTransaction()- Endorse transaction
Pool API
pool.connect()- Connect to ledgerpool.close()- Disconnect from ledgerpool.submitRequest()- Submit custom requestpool.isOpen- Check connection status