Skip to main content
European CommissionEBSI European Blockchain

Issue VC/VP for TNL

The Trusted Nodes List is a list of the active node operators that have been onboarded by the Support Office. The list will be generated and signed by the Support Office before being reviewed and also signed by the Service Ops Manager. Once signed by both entities, it will be made available to the public on different channels. Here is a guide on how to issue the credential and the presentation.

Load user of Support Office

Load the keys of Support Office and accreditation:

Command
==> using user ES256 did1 hardwarewallet
note

It's recommended to use a hardware wallet to sign this credential. For the installation follow the instructions here.

Now connect the wallet with the pilot environment:

Command
==> env pilot

Define VC payload

Create a JSON file with this payload and fill it accordingly:

{
"@context": ["https://www.w3.org/2018/credentials/v1"],
"type": ["VerifiableCredential", "VerifiableAttestation", "TrustedNodesList"],
"credentialSubject": {
"environment": "pilot",
"chainId": 6179,
"version": 1,
"nodesTotal": 36,
"nodes": [
{
"apis": "https://api-pilot.ebsi.stsisp.ro",
"apps": "https://app-pilot.ebsi.stsisp.ro",
"explorer": "https://blockexplorer-pilot.ebsi.stsisp.ro",
"country": "rou"
},
{
"apis": "https://api-pilot.ebsi.fnmt.es",
"apps": "https://app-pilot.ebsi.fnmt.es",
"country": "esp"
}
]
},
"termsOfUse": {
"id": "https://api-pilot.ebsi.eu/trusted-issuers-registry/v5/issuers/did:ebsi:zZeKyEJfUTGwajhNyNX928z/attributes/cf89e47e260eda53bb199096ca97347790c84d2c8a5f2ce3f411eaba14d0003e",
"type": "IssuanceCertificate"
},
"credentialSchema": {
"id": "https://api-pilot.ebsi.eu/trusted-schemas-registry/v3/schemas/z3MgUFUkb722uq4x3dv5yAJmnNmzDFeK5UC8x83QoeLJM",
"type": "FullJsonSchemaValidator2021"
}
}

Now import it in the CLI tool:

Command
==> payloadVcTnl: load path-to-file.json

Create and sign the VC

Finally, use this payload to create and sign the VC:

Command
==> compute createVcJwt payloadVcTnl {} ES256

Please note that this credential is signed with the ES256 key, not the ES256K key.

Congratulations!

You have issued a verifiable credential for Trusted Nodes List. Now you can share the credential with the Service Ops Manager to validate it.

Load user of the Service Ops Manager

Load the keys of Support Office and accreditation:

Command
==> using user ES256 did1 hardwarewallet
note

It's recommended to use a hardware wallet to sign this credential. For the installation follow the instructions here.

Now connect the wallet with the pilot environment:

Command
==> env pilot

Verify the VC

Run the following command to verify the credential:

Command
==> compute verifyVcJwt PUT_VC_HERE
Verifiable Credential is valid

To see the content of the credential run:

Command
==> compute decodeJWT PUT_VC_HERE

Create a VP

Run the following command to create a Verifiable Presentation containing the Verifiable Credential issued by Support Office:

Command
==> compute createPresentationJwt PUT_VC_HERE ES256 any

Note that we are setting audience as "any" to target a generic audience.

Congratulations!

You have issued a verifiable presentation for Trusted Nodes List. Now publish it in the respective channels.