How to create a valid issuer?

Hello, I’m having a problem with the validation of a certificate, I’m able to issue a certificate to the ethereum ropsten chain, but when I try to validate it I keep getting this error:

I’ve also tried changing the issuer but I get instead an error like this at the verifier:

ErrorNot a valid Blockcerts credential. Please check with the issuer or recipient that has provided this credential.

I’ll leave here also the link to my issuer json

I would like to know what is wrong with my issuer profile.

I would appreciate a lot any kinds of help!!

The error you are getting is because the transaction data (the blockchain transaction that is) cannot be retrieved.
It is either because you are testing your cert too early after issuance and the transaction has not propagated on the blockchain (not enough confirmations) or because the transaction referenced does not exist but that would be quite surprising since I am not aware of such a (major) issue.

As far as I can tell your issuer profile looks correct.

When this error comes up

ErrorNot a valid Blockcerts credential. Please check with the issuer or recipient that has provided this credential.

You may have access to a more explicit, technical error in the developer console of your browser. You could have a look at that.

@lemoustachiste @juaneltemible

i’m also facing the similar issue

In the console, I can see Didn’t recognize chain value.

I’m using ethereum_sepolia chain

hm it should be supported: explorer-lookup/blockchains.ts at master · blockchain-certificates/explorer-lookup · GitHub

Could you share your cert so I can investigate?

Here is the certificate content

{“@context”: [“”, “”], “type”: [“VerifiableCredential”, “BlockcertsCredential”], “issuer”: “”, “issuanceDate”: “2022-10-31T11:31:03Z”, “id”: “urn:uuid:af05c673-02f2-430f-aefc-5256f053c39a”, “credentialSubject”: {“id”: “ecdsa-koblitz-pubkey:mtr98kany9G1XYNU74pRnfBQmaCg2FZLmc”, “alumniOf”: {“id”: “”}}, “proof”: {“type”: “MerkleProof2019”, “created”: “2022-10-31T12:05:00.478050”, “proofValue”: “znKD4YGVqA8textxikpfbsSQxuWguMznNeK95EspXveCLCWTH9xVEyuRBGUL1qrGrvRJDUDrSrdP5nxZWwZDWPFMru2xHaLJaEgX7QpL92giUyTYLviqxsU3snV2qrpGGtsGYp1CpMSdsWRYCqkbnBT5s9Yh6q4j8HkYCC5Tq9AAezkiaqcMBUcUDMTkrrou4zPY5nEoRqmZCR4aq5gexwCKPahJfpCVp7hG1q84JjoVjRybzWXANbCaQqJQN6VZ5bn1My9kUwYYP6g8EByfTK9nvjraWsyVwjT9eZDWgKVU6VxtpmmNAY8HbiM”, “proofPurpose”: “assertionMethod”, “verificationMethod”: “URL”}}

it looks like your proof is malformed:

      path: [],
      merkleRoot: '635a5828df1cbd886111e9ffee82c1c9072a12f5ae82fa6300115eb3de3d7f4c',
      targetHash: '635a5828df1cbd886111e9ffee82c1c9072a12f5ae82fa6300115eb3de3d7f4c',
      anchors: [

the anchor does not reference Sepolia but undefined.

So it could be an issue with cert-issuer maybe? How is your conf.ini defined?

My conf.ini in cert-issuer

issuing_address = 0x4d6919d34132C6963cfEe665309C6079822795BB

verification_method = URL

chain= ethereum_sepolia

usb_name = </Volumes/path-to-usb/>

key_file = /home/azureuser/blockchain_attempt2/cert-issuer/data/keyfile.txt





ok let me check then

so I’ve got an error and I cannot issue on sepolia anyway:

raise UnknownChainError(app_config.chain)
cert_core.UnknownChainError: Chain.ethereum_sepolia

How did you issue the certificate?

Ok I think I’m getting the above error due to some python shenanigans on my machine. Trying to sort it out

Ok so it looks like cert-issuer works ok, here is my anchor for an issuance on sepolia:


you should maybe try and issue again


I tried to install it again and followed the whole process again from the fist.

Successfully I created both unsigned and signed certificates and the issue still remains same.

Here is my signed certificate:

{"@context": ["", ""], "type": ["VerifiableCredential", "BlockcertsCredential"], "issuer": "", "issuanceDate": "2022-11-03T09:28:54Z", "id": "urn:uuid:004873c9-c21b-4f33-aae6-714eb964f626", "credentialSubject": {"id": "ecdsa-koblitz-pubkey:mkwntSiQmc14H65YxwckLenxY3DsEpvFbe", "alumniOf": {"id": ""}}, "nonce": "1", "proof": {"type": "MerkleProof2019", "created": "2022-11-03T10:54:42.597456", "proofValue": "z9nmN4tsD8AYm9oa7cgcUrCN4Lqecj7HMdoAz1UbYbw8PLrmc2GoFJiV5bk9xXcWDbKsidjXSBoBsp7DqZX4WDfPS3sfTyt9vKrCE2NYjxS34TEmBhVW9uirAhM6uLq9QtxjLX8xu3wTaGSZrf8SHiHY9fUEVm9JufBjvD7axpkdGiEc48yQLynnVYEUtBZWTkVmwTkPg2XQWUNE6hPr9CcpmXBF5VBgxqaps9pyZmzaBBrGuiVJ7p3BD5c8d7C4AA2rbVPhPXTjK34ddVzDTy7W2XYfDrFE1jHmF87sYUzeVEWkwTzrNMQ5xWhwjvS9TwUo78272FgeW4TsKjZy7hyQ8tcAfeL5SH23uJetwMSn8qoQCJ9YngcWF3BqKrBGy6FZvjATvLHdGuCBjPcL5BhCPhP", "proofPurpose": "assertionMethod", "verificationMethod": "URL"}}

anchor for an issuance on sepolia

INFO - merkle_json: {‘path’: [{‘right’: ‘94b0236ef84cb4f5a32e5d66b47424d6d068908d3e6bc6eea13c35aaf4211c1b’}], ‘merkleRoot’: ‘a845bf3d74a5aa78b5ade32c44583640645b4459e651b4314830afb5b439dab0’, ‘targetHash’: ‘8885070fede3b20e463cc225436d604d9f312789fbbfe498270e1f130ade74d4’, ‘anchors’: [‘blink:eth:sepolia:0xe7a23bbb0150c8d0594f4241c29fb7da946daad7deac4a9644f1469d51351546’]}

INFO - merkle_json: {‘path’: [{‘left’: ‘8885070fede3b20e463cc225436d604d9f312789fbbfe498270e1f130ade74d4’}], ‘merkleRoot’: ‘a845bf3d74a5aa78b5ade32c44583640645b4459e651b4314830afb5b439dab0’, ‘targetHash’: ‘94b0236ef84cb4f5a32e5d66b47424d6d068908d3e6bc6eea13c35aaf4211c1b’, ‘anchors’: [‘blink:eth:sepolia:0xe7a23bbb0150c8d0594f4241c29fb7da946daad7deac4a9644f1469d51351546’]}

INFO - Broadcast transaction with txid 0xe7a23bbb0150c8d0594f4241c29fb7da946daad7deac4a9644f1469d51351546

As i can see the issuance is also similar to the one you created.

Kindly help me out with this issue

Thanks in Advance

I’ve finally figured out the issue, I’m working on the fix

I’m still facing issues, I think I should be able to resolve by tomorrow

1 Like

ok Thanks @lemoustachiste

it’s in PR, but some tests on the master branch that were working 2 weeks ago are now failing and I need to investigate why.

So the code in this PR will verify a Sepolia or Goerli anchored cert: fix(Sepolia): ensure sepolia anchored verification by lemoustachiste · Pull Request #1447 · blockchain-certificates/cert-verifier-js · GitHub

If you feel bold enough you can use this branch, either directly locally with a copy of CVJS, or installing it to a local copy of blockcerts-verifier. At least that’s a way to have you unblocked while I figure out why those tests are suddenly failing.

Thank you @lemoustachiste

I will try to use the PR and install it in my local drive.

Blockcerts Verifier has been updated, and it’s live on

Thanks @lemoustachiste for the update <3