Create credential request
Important
Before creating your credential request please ensure you have setup and deployed your Receptor Smart Contract.
The Verifier creates a credential request for the wallet holder.
** Sample CR Structure**
{
id: requestId,
circuitId,
query: {
allowedIssuers: ["*"],
type: credentialType,
context:
"https://redbellynetwork.github.io/did-schema/driversLicence/credential/v1.jsonld",
credentialSubject: {
birthDate: {
$lt: CRITERIA_VALUE,
}
}
}
}
id
: Request IdcircuitId
: MTP Circuit Idquery
:allowedIssuers
:[*]
indicates that user can provide a proof of credential issued by any issuer. Alternatively, a specific issuer did can be specified.type
: Type of Credentialcontext
: JSON-LD Context of credential.credentialSubject:
Contains User’s details
Function Definition¶
export function createCredentialRequest(
circuitId: CircuitId,
credentialType: string,
requestId: number
): ZeroKnowledgeProofRequest {
const proofReqMtpOnChain = {
id: requestId,
circuitId,
query: {
allowedIssuers: ["*"],
type: credentialType,
context:
"https://redbellynetwork.github.io/did-schema/driversLicence/credential/v1.jsonld",
credentialSubject: {
birthDate: {
$lt: 20020101,
},
},
},
};
return proofReqMtpOnChain;
}
Initialisation¶
const proofReqSig: ZeroKnowledgeProofRequest = createCredentialRequest(
CircuitId.AtomicQueryMTPV2OnChain,
'DriversLicenceCredential',
newRequestId
);
The proofRqSig
contains the credential request required by the Holder.