Skip to content
This repository has been archived by the owner on Nov 25, 2020. It is now read-only.

indy.error.IndyError: ErrorCode.WalletNotFoundError #34

Closed
shader opened this issue Jan 30, 2018 · 5 comments
Closed

indy.error.IndyError: ErrorCode.WalletNotFoundError #34

shader opened this issue Jan 30, 2018 · 5 comments

Comments

@shader
Copy link

shader commented Jan 30, 2018

In your README you say "try incrementing the schema version and fully restarting the server" to resolve this error. However, where should the schema version be incremented?permitify/site_templates/bc_registries/schemas.json? That didn't seem to work when I tried it.

Also, why would that have any effect when the docker-compose.yml file sets the env var PYTHON_ENV: development, which in the code appears to set all of the schema versions to "0.0.0":

https://github.com/bcgov/permitify/blob/fd912a89f29fc67c5074dfd69717bce5ffbd4c9d/src/von_connector/schema.py#L37-L39

Is there something else I'm supposed to do to get the wallet to work?

@nrempel
Copy link
Contributor

nrempel commented Jan 31, 2018

The docs are a bit out of date. We're working on a method to ensure that development machines use a unique version number.

In the short term, try changing that to something unique like 0.0.123123. Do the same in proof.py.

@shader
Copy link
Author

shader commented Jan 31, 2018

That worked; thanks. It still seems like an odd step to require.

@nrempel
Copy link
Contributor

nrempel commented Jan 31, 2018

Indy SDK requires that claim definitions be published by the issuer and thus stored in the issuer's wallet. If the claim definition exists on the ledger already, the issuer can either skip the publish step or clobber the last person to issue a claim def with that schema version number.

The solution will be to generate a unique version number for every dev machine so that developers don't clobber each other's ledger state while working against the same indy node pool.

We hope to implement a better solution to this in the next few days using some unique information derived from the machine.

@shader
Copy link
Author

shader commented Feb 2, 2018

How about referring to the schema by its hash in development mode? Then if the schema is already present on the ledger, it doesn't need to be registered again, and we don't end up with lots of identical clones. If it does change, so will the hash, so they won't clobber each other.

In production, it may still be a good idea to have a version number; I don't think full semver is a good idea, but it might be useful to be more human readable and provide some indication of sequence. That or a date, so that it would have more meaning.

@swcurran
Copy link
Collaborator

Agreed on the semver issue. We've since found out that creating a Cred Def creates a keypair and you can't control the seed for it. As a result, you can't regenerate a full wallet from seeds if you have a Cred Def. We're working on a developer approach for that and will be handling that in a separate issue.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants