I have a 24-word seed and I'm trying to restore, but the app says it's invalid

Hello Blockcerts community,

I got a degree in 2020 (still have the .json), and at some point I uninstalled the blockcerts app or got a new phone. Fine, I thought, I have the seed stored in my password manager.

Today I went to restore and it doesn’t work! “Passphrase Invalid”. This is the Blockcerts app on Android 11+, I click “current user” on the first-run screen and then paste in the 24-word seed I have.

I see elsewhere in the docs (https://www.blockcerts.org/about-passphrase) it mentions 12-16 words.

Any ideas about what’s going on?

Where did you get the 24-word seed?
To the best of my knowledge, the HD wallet only generates 12-word seeds.

With a fresh install it generates 24-word seeds

Ok I need to do some investigation on the matter, but that might not be too immediate as I have other things lingering

@tfar_234, on what platform did you get your original seed (iOS or Android)?

I got it on Android originally.

Ok so I tried today, the wallet indeed gives a 24-word seed.

I tried saving a local file, then recreating the wallet and it worked.
I tried saving the passphrase and copy pasting to recreate the wallet and it worked.

Are you tech savvy? If so it’d be great if you could clone this repo:

Then modify this line https://github.com/blockchain-certificates/did-generator/blob/master/key-management/generateKeyPair.ts#L50 so that mnemonic = 'YOUR SEED'

Then npm run generate:keyPair

Then in the output you should see this message “'bitcoin address generated”, with an address following. That address should theoretically match the one in your certificate json file, in the recipient field.

Also just to make sure, you do have the latest version of the app available from the Play Store?

What’s your current Android version?

My current Android version is 13

I am tech-savvy and can definitely do that for you, but it will take a week, possibly three weeks, until I have time!

@tfar_234 we have released a new version of the app which fixes a permission bug on Android 13.

We have in the process tested your issue but weren’t able to replicate it (on emulator and actual machines).

Thanks for looking in to that.

I’m revisiting this issue again. I have a 24-word seed generated in 2020 for my Master’s degree, and I have learningmachine.dat from then too.

I’m running 3.1.11-58 on Android 14 / GrapheneOS

The 24 word seed doesn’t work

When I try to select a backup file (and select learningmachine.dat), nothing happens (in the UI, I see the file select dialog, select the file, and back in the app there is no indication of a file being selected). Maybe this is a permissions issue, as the app doesn’t ask for file permissions (only network, sensors, and Photos and videos)

The current app still generates learningmachine.dat for new accounts if you want to save it.

Is learningmachine.dat a replacement for a 24-word seed? There is no documentation about what it is or how to use it.

Any perspective on these issues? Am I completely missing where the documentation for end-users is?

Edit: I’ve done some digging and run stuff through a BIP-39 word list (locally), and it was a misspelling of one of the 24 words in the seed. It would be good to check the seed in the app against the word list to prevent this.

Outstanding problems:

  1. There appears to be little or no documentation for end-users?
  2. What documentation there is about passphrases still refers to 12-16 when the number is 24 (e.g., “About Passphrases” in the app)
  3. It’s not clear what learningmachine.dat is
  4. I can’t select learningmachine.dat in the setup flow

Is this project even being maintained, or maybe it’s just that the key stakeholders are schools and not end-users?

Hi there,

thanks for your detailed input.

I will need to check a few things before I can properly get back to you.

I’ve done some digging and run stuff through a BIP-39 word list (locally), and it was a misspelling of one of the 24 words in the seed.

  • Could you elaborate on this? Was the list you got faulty at generation time?
  • Did you manage to generate the expected bitcoin address out of that list in the end or not?

There appears to be little or no documentation for end-users?

The documentation is not up-to-date nor fairly maintained/targeted, there is unfortunately no technical writer dedicated to this project, and I don’t have the man hours, the skills and experience to handle such a task.

What documentation there is about passphrases still refers to 12-16 when the number is 24 (e.g., “About Passphrases” in the app)

See point above

It’s not clear what learningmachine.dat is

I need to dive in to understand better what this does, I wasn’t part of the initial writing and maintaining the Android app now falls into my responsibility. As things are generally working, or at least issues don’t get reported, I do not actively spend time on this app.

I can’t select learningmachine.dat in the setup flow

See point above

Is this project even being maintained

Blockcerts as whole gets maintained and improved yes, but the priority is with standards compliance (W3C VC), verification and to some extent issuance. Wallets and cert-core get less attention as they are less central to the stakeholders strategy, because the general ecosystem of Verifiable Data has evolved a lot between the inception of the project and now, and there are more options on the market. With that said we are aware of some limitations and try to allocate time to those as much as schedule permits.