Skip to main content
European CommissionEBSI European Blockchain

Register a Proxy

This guide presents the steps to register a proxy of a Trusted Issuer. This proxy is used for the credential status retrieval through EBSI network. And as prerequisite the issuer must have an API to get the Verifiable Credential with StatusList2021. See an example of the verifiable credential.

Load the Trusted Issuer

Load the keys of the Trusted Issuer:

Command
==> using user ES256K did1 <ISSUER_PRIVATE_KEY_ES256K> <ISSUER_DID>
==> using user ES256 did1 <ISSUER_PRIVATE_KEY_ES256> <ISSUER_DID>

Now connect the wallet with the pilot environment:

Command
==> env pilot

Request an access token

Request an access token to the authorisation API with the scope tir_write:

Command
==> resAuthTIR: authorisation auth tir_write_presentation ES256

Now load the access token:

==> using token resAuthTIR.access_token

Register proxy

Create the proxy data:

Command
==> set proxyData {"prefix": "https://example.com/my-provider/revocation","headers":{"Authorization": "Bearer ABC"}, "testSuffix": "/credentials/status/1"}

Now interact with the Trusted Issuers Registry to insert the proxy:

Command
==> tir addIssuerProxy user.did proxyData
Congratulations!

You have registered a proxy in the Trusted Issuers Registry

To validate the registration, get the proxies of the issuer:

Command
==> tir get /issuers/ user.did /proxies
Output
{
"items": [
{
"proxyId": "0xe34e137dbefa842d71c0c840ddb4900af3611e297d8403e80f99a13e187e8d63",
"href": "https://api-pilot.ebsi.eu/trusted-issuers-registry/v4/issuers/did:ebsi:zsqBYQuKunNdr3XfGfPUvU7/proxies/0xe34e137dbefa842d71c0c840ddb4900af3611e297d8403e80f99a13e187e8d63"
}
],
"total": 1
}

Use the proxyId to get the proxy data:

Command
==> tir get /issuers/ user.did /proxies/0xe34e137dbefa842d71c0c840ddb4900af3611e297d8403e80f99a13e187e8d63
Output
{
"prefix": "https://example.com/my-provider/revocation",
"headers": {
"Authorization": "Bearer ABC"
},
"testSuffix": "/credentials/status/1"
}

And call the proxy to get the status list:

Command
==> tir get /issuers/ user.did /proxies/0xe34e137dbefa842d71c0c840ddb4900af3611e297d8403e80f99a13e187e8d63/credentials/status/1
Output
eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDplYnNpOnpzcUJZUXVLdW5OZHIzWGZHZlBVdlU3I0NrOGNIZXRrcC1vNjJtQjBaSDRRSU1ib1R6QlVMaGhnUGFRbnZ0U09WQlUifQ.eyJqdGkiOiJkaWQ6ZWJzaTp6c3FCWVF1S3VuTmRyM1hmR2ZQVXZVNyIsInN1YiI6ImRpZDplYnNpOnpzcUJZUXVLdW5OZHIzWGZHZlBVdlU3IiwiaXNzIjoiZGlkOmVic2k6enNxQllRdUt1bk5kcjNYZkdmUFV2VTciLCJuYmYiOjE3MDI2NTA0MTEsImlhdCI6MTcwMjY1MDQxMSwiZXhwIjoxNzM0MTg2NDExLCJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vdzNpZC5vcmcvdmMvc3RhdHVzLWxpc3QvMjAyMS92MSJdLCJpZCI6ImRpZDplYnNpOnpzcUJZUXVLdW5OZHIzWGZHZlBVdlU3IiwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIlZlcmlmaWFibGVBdHRlc3RhdGlvbiIsIlN0YXR1c0xpc3QyMDIxQ3JlZGVudGlhbCJdLCJpc3N1ZXIiOiJkaWQ6ZWJzaTp6c3FCWVF1S3VuTmRyM1hmR2ZQVXZVNyIsImlzc3VhbmNlRGF0ZSI6IjIwMjMtMTItMTVUMTQ6MjY6NTEuNDM1WiIsInZhbGlkRnJvbSI6IjIwMjMtMTItMTVUMTQ6MjY6NTEuNDM1WiIsImV4cGlyYXRpb25EYXRlIjoiMjAyNC0xMi0xNFQxNDoyNjo1MS4wMDBaIiwiaXNzdWVkIjoiMjAyMy0xMi0xNVQxNDoyNjo1MS40MzVaIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6ZWJzaTp6c3FCWVF1S3VuTmRyM1hmR2ZQVXZVNyIsInR5cGUiOiJTdGF0dXNMaXN0MjAyMSIsInN0YXR1c1B1cnBvc2UiOiJyZXZvY2F0aW9uIiwiZW5jb2RlZExpc3QiOiJINHNJQUFBQUFBQUFBKzNCTVEzQUlBQUFNSXd0dk1pWkE2UWdneE1CM0RqWXNXUUhRY0FTWEhDMVRXLy9TNzVhbkY4ZDY3a0RBQUFBQUFBQUFBQUFBQUFBQUFBQWNOd0c5QzR3bUFCQUFBQT0ifSwiY3JlZGVudGlhbFNjaGVtYSI6eyJpZCI6Imh0dHBzOi8vYXBpLWNvbmZvcm1hbmNlLmVic2kuZXUvdHJ1c3RlZC1zY2hlbWFzLXJlZ2lzdHJ5L3YyL3NjaGVtYXMvejZIa0tVQWhXZ01RcUdRRWNjMWtld1RXSnJZNG5ydGFkbmNtaWQ3aHNmR1Y4IiwidHlwZSI6IkZ1bGxKc29uU2NoZW1hVmFsaWRhdG9yMjAyMSJ9fX0.B5pLnEoog4OsttmO0odFKojIhd8i04ga5EL2I4nsVa4PGPkIFZXxjPmDgbhOuLhcQdCpyDkMbxHsCFhAXHHejg