To generate keychain(12-word phrase) from legacy wallet.json file


#1

Hi All,

Got a curious question about wallet.json and keychain phrase.

Since the newer version of blockstack-browser had been moved to support Web Storage, there doesn’t seem to be any easy way to import the wallet.json. Tapped around using command-lines, but it doesn’t seem to be part of the design.
Just wondering if a user can simply reuse the legacy wallet, by re-generate recovery phrase, other than transfer ID or using wallet/send-core ;

I notice in new CLI, which is working in progress, will be able to generate keychain with new set of ID and Bitcoin Addresses

$ blockchain-cli make_keychain

But still not find the way to generate keychain based on wallet.json

Versions / Platform:

$ pip show blockstack
Name: blockstack
Version: 0.18.0.9
$ lsb_release -d && arch
Description: Ubuntu 18.04.1 LTS
x86_64


#2

But still not find the way to generate keychain based on wallet.json

That’s because the new CLI uses a bip39 mnemonic as a “master key” to generate owner and payment keys. The old CLI simply used raw private keys. By design, there’s no way to generate a keychain to derive a particular private key (i.e. owner keys are hardened child keys of the master key).

If you want to transfer your old names to a keychain generated using the new CLI, you can do so with the new CLI’s transfer command. You’ll need to get your old owner and payment keys from your wallet.json using blockstack wallet, and then pass them to blockstack-cli transfer as indicated in its documentation.


#3

jude, thank you for the explanation about bip39, this is the part I didn’t understand.

Ended up finding that, there is no ID associate with my legacy wallet, guess my old onename ID simply expired; and I have no problem registering ID through blockstack-cli register on mainnet.