-
Notifications
You must be signed in to change notification settings - Fork 106
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFC: CORD Blockchain Integration for Identity, Schema, and Credential Anchoring in Sunbird RC #354
base: main
Are you sure you want to change the base?
Conversation
@ashwin275 1. CORD Implementation: @surendrasinghs please feel free to add your comments if I’ve missed anything. |
@pallakartheekreddy Thank you for the feedback! CORD Implementation: I’ll refactor it to use an interface to make it flexible for future additions like Solana. Testing: I’ll create a test suite for this and update it once it’s ready. Documentation: The steps for connecting RC with CORD are already documented. |
@pallakartheekreddy I've updated the code based on your feedback. I've created an interface for each service and added a test suite as well. and here is the detailed steps to integrate rc in to cord: |
Overview
This RFC proposes the integration of the CORD blockchain into the Sunbird RC ecosystem to enable the anchoring of Decentralized Identifiers (DID), Schemas, and Verifiable Credentials (VCs). This feature will provide a secure, verifiable, and tamper-proof solution for credential issuers to anchor identities, schemas, and credentials on the blockchain.
The integration will be optional and configurable, allowing adopters to enable blockchain anchoring via environment variables, with the feature being disabled by default.
Motivation
For Sunbird RC adopters, anchoring credentials, identities, and schemas on a blockchain provides:
Immutable Proofs: Ensures that identities, schemas, and credentials remain secure and unaltered.
Verification: Provides a robust, distributed mechanism for validating the authenticity of entities and credentials.
Enhanced Trust: Blockchain anchoring adds a layer of transparency and trust to the verification of credentials, schemas,
and identities.
Design and Implementation
Architectural Overview
In this integration:
This architecture ensures modularity and simplifies maintenance by decoupling blockchain logic from Sunbird RC services.
Key Components Affected
The following Sunbird RC services will interact with the CORD Middleware for anchoring:
Configuration Requirements
Environment Variable Configuration
To enable blockchain anchoring, configure the following environment variables in Sunbird RC. By default, anchoring is disabled and can be enabled by setting ANCHOR_TO_CORD to true.
1.Anchoring DID and Schema to CORD
To anchor DIDs and schemas, set the following variables:
ANCHOR_TO_CORD = true ISSUER_AGENT_BASE_URL = https://<CORD_MIDDLEWARE_DOMAIN_OR_IP>/api/v1
2.Anchoring Verifiable Credentials to CORD
To enable VC anchoring, add the following:
VERIFICATION_MIDDLEWARE_BASE_URL=https://<CORD_MIDDLEWARE_IP_OR_DOMAIN>/api/v1/verify
These configurations instruct Sunbird RC to route all anchoring requests to the CORD middleware.