import { DvrModuleClient, extractPayload } from"@zkpass/dvr-client-ts";constdvrPayload=extractPayload(dvrToken);...// Step 1: Instantiate the zkPassClient object.constdvrModuleClient=newDvrModuleClient({ baseUrl:ZKPASS_SERVICE_URL, apiKey:API_KEY, secretApiKey:API_SECRET, });// Step 2: Create the expected metadataconstexpectedMetadata= { dvr:JSON.stringify(dvrPayload), ttl:EXPECTED_DVR_TTL, user_data_verifying_keys: userDataVerifyingKeys, };// Step 3: Call zkPassClient.verifyZkPassProof to verify the proof.constproofOutput=dvrModuleClient.callDvrVerifyZkPassProof(ZKPASS_ZKVM, zkPassProofToken, expectedMetadata );
This code snippet verifies a zkPass proof token. Components :
zkPassProofToken : check Generate Proof section for more details.
expectedMetadata : this is the expected metadata of the dvr.
dvrPayload: the dvr payload extracted from Dvr token.
Generate User Data Token
import { DvrModuleClient } from"@zkpass/dvr-client-ts";...// Step 1: Instantiate DvrModuleClientconstdvrModuleClient=newDvrModuleClient({ baseUrl:SERVICE_URL, apiKey:API_KEY, secretApiKey:API_SECRET, });//// Step 2: Call the DVR module client's callDvrGenerateUserDataToken// This is to digitally-sign the user data.constuserDataToken=dvrModuleClient.callDvrGenerateUserDataToken( signingKey,JSON.stringify(data) );
This code snippet generate user data token. Components :
signingKey : a private key used to sign user data.