-
Notifications
You must be signed in to change notification settings - Fork 224
How can I restore wallet from secret.key file from daedalus 0.15.1 #2395
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I am in a similar situation as skazichris. Looking forward to support from the dev team in restoring access to the stuck ADA coins. Re-enabling the import wallet feature to allow access through the secret.key file would be great. Appreciate the help! |
Questions for both of you @skazichris and @mkr-j:
|
I'm in the same situation.
Linux, MacOS. Can use Windows if it's absolutely necessary :)
Masters degree in computer science. Basic knowledge of Haskell. Good knowledge of Python, Go, C. For me personally, a good specification of secrets.key file format and a process how to obtain private keys or a wallet phrase from it could be enough. |
@mprymek have a look at: input-output-hk/cardano-sl#4278 (comment), there's a pre-compiled binary which should work on any GNU linux. This however requires that you still have access to the old wallet database AND the secret key file. The tool will extract all known encrypted keys from the keystore and spit them in a nicer JSON format. There has been a few additions to the tools later that aren't in the pre-compiled version linked above but they are non-essential. From there, the If you do not have access to the acid-state database that the old wallet was using at the time and only have the keystore file, then let me know. I'll spend some time documenting the CDDL specification corresponding to the keystore serialization format and/or update the extraction tool to make the acid-state database optional (it's really only used to link the encrypted key to a wallet name and wallet id). |
Thanks a lot, @KtorZ. I think I have a backup of the acid-state db too but must find it and restore somewhere. And also recall the master password. Will take a while I'm afraid :) |
I am on Windows. I've done some basic coding in the long past but generally am not too familiar with non-GUI operations. With some guidance, however, I'd be willing to attempt something a little more complex. I do remember the encryption phase, but I do not see an acid-state database. My Daedalus version is 1.0.3769, wallet 0.8.2. Is the tool you referenced expected to work with this version of the wallet? |
@KtorZ I have some findings, probably not very good for me...
Sidenote: It doesn't work on "any" Linux distribution. It's dynamically linked and at least I can confirm it's working on Ubuntu 18.04:
But i found the original Daedalus version I have a backup of, was probably older than 0.15. Don't know if it's of any value, but anyways:
Export does not work (pre-0.15 had a different DB format?):
|
Just to add, it's probably something zendesk support should have heaps of tickets above, but we have tons of users reporting on telegramnover past few months who - do not seem to have read the warnings and have their funds locked due to missing 12 word seed. Atleast for those that have the spending password available, it would be really helpful if there's a published way from IOG to use as a workaround (rather than someone from community passing a python/js code and asking them to run - as that involves trust, and potentially mote susceptible to scams on crypto social platforms). If only the part regarding secret.key to master key (unencrypted with spending password) is available as a method from IOG, we could easily ask users to import their wallets into Yoroi 🙂 |
Hello @KtorZ and @mprymek
|
I'm trying to restore a wallet that was created with Daedalus 0.13.1 When using the utility I'm getting the error "user error (There's no acid-state database matching the given path.)" I'm not %100 on what path or file I should be pointing this too. I have tried: @mprymek mentioned that this utility might not work with this db version. Does anyone have any more information on this? Any help would be appreciated, thank you. |
I am in the same predicament.. i had my wallet in Daedalus 0.13.1 and although i can get the script to work under ubuntu 18.04 with the test data in the gzip, it seems not work with my 0.13.1 data (same as @clovehitch) I still have 0.13.1 installed on my windows PC (it runs, just can't connect).. is upgrading to 0.15.1 (after taking a VM snapshot) to upgrade the data structure an option? i had a search around everywhere for the old installer.. but had no luck.. to be honest, this thread is the best lead i have found on this problem, and i have been looking for months! Really appreciate the assistance being given! It's hard to wait for the official import to be re-enabled (had hoped it would have been in FC3 - but no) |
same error here. There's no acid-state database matching the given path |
I have just checked some old Daedalus versions:
Where:
I am able to run the
It is a bit counter-intuitive but, I think, the "rule" would be: if you have those two items in your state directory: Wallet-acid and Wallet-sqlite.sqlite3 you should point --wallet-db-path to something like /path/to/state-dir/Wallet. Please also note that Daedalus should not be running when you use
|
My Daedalus installation was on windows, would that make a difference? My 0.13.1 directory structure looks like the following (its a copy, so date stamps are not original) : 10/01/2021 01:39 PM .. 10/01/2021 01:36 PM blob_storage 01/09/2020 12:05 PM 167 config.json 10/01/2021 01:39 PM DB-1.0 10/01/2021 01:39 PM GPUCache 10/01/2021 01:39 PM Local Storage 10/01/2021 01:39 PM Logs 01/09/2020 11:59 AM 533 Preferences 30/12/2018 01:31 PM 0 public.key 30/12/2018 01:31 PM 0 public.key.lock 10/01/2021 01:39 PM Secrets-1.0 10/01/2021 01:39 PM tls 10/01/2021 01:39 PM Wallet-1.0-acid 10/01/2021 01:39 PM Wallet-1.0-backup-2018-12-30T02_31_27 24/03/2019 09:28 PM 45,056 Wallet-1.0-sqlite.sqlite3 24/03/2019 09:04 PM webrtc_event_logs The Wallet-1.0-acid directory contains : 10/01/2021 01:39 PM .. 10/01/2021 01:39 PM Archive 01/09/2020 12:04 PM 883,800 checkpoints-0000000737.log 01/09/2020 12:04 PM 0 checkpoints-0000000738.log 30/12/2018 01:31 PM 6 checkpoints.version 01/09/2020 12:04 PM 0 events-0001994441.log 30/12/2018 01:31 PM 6 events.version 30/12/2018 01:31 PM 0 open.lock I have copied the files across onto a linux box now and trying to recover through there (as this is the only tool i have found so far). I tried using "Wallet-1.0" in --wallet-db-path, with no luck.. i even tried renaming the wallet-1.0-acid and the sqlite3 file to exclude the 1.0 part trying to bring it inline with the example files but no luck there either.. Windows add/remove still shows 0.13.1 as the installed version (as does Daedalus.exe), the contents of my events.version file in Wallet-1.0-acid does show 0.15.0 though |
Hi @khughes5, I just did the same, i.e. copied Daedalus (0.13.0) state dir from Windows to Linux: My state directory looks as follows:
where:
With that I am able to run the tool like this:
Is there any error you are seing? |
@piotr-iohk - Thanks SO much!!!! i just got it to work! and thanks to @KtorZ for originally providing reference to the tools and @mprymek for the heads up on linux version Before i was just copying a subset of files and Directories (Wallet-1.0-acid, Wallet-1.0-sqlite.sqlite3 and Secrets-1.0).. This time i copied the whole Directory (c:\users\Name\AppData\Roaming\Daedalus) across into linux, dumped them in the user documents directory like you did and ran the tool as you specified.. it worked! I don't have a very good grasp on linux, so maybe i was screwing something else up before.. Now i am off to start looking at the whole API side, to try and see how to import the encrypted strings!! PS for those following along (and like me have no linux exp), after a default install of Ubuntu 18.04 i had to run "sudo apt-get update" then "sudo apt-get install librocksdb5.8" to get the required library to be able to get the tool to run (you need an internet connection for that to work) |
@khughes5 Did you figure out how to import the encrypted strings? |
Unfortunately not yet (i am not a programmer).. and i don't even know if i am on the right track here.. but i was hoping to use my Daedalus flight 3.1.0 install on windows (which seems to run the cardano-node.exe on a random listening port), along with the method described in https://iohk.zendesk.com/hc/en-us/articles/900000672303-How-to-migrate-a-Byron-Legacy-wallet-to-cardano-wallet- with the payload replaced with that described in the random(from xprv) tab by KtorZ above.. the listening port number for cardano-wallet appears to be shown in FC3.1.0 under help/Deadalus Diagnostics.. but right now i am getting certificate errors when using curl against the port for a simple query (like https://localhost:64139/wallets) .. Even when i use the --cacert pointing to the \tls\client\client.pem file, it displays the error "the certificate chain was issued by an authority that is not trusted".. not sure if we are able to run the api calls via the FC developer tools/console interface.. again not sure if i am totally missing the mark here.. very open to help from anyone in the thread about what to do with the extracted information from the tool :) |
@khughes5 I have a tool that can be handy for your use case, but you'll need to have ruby installed on your system. For Windows The tool (https://github.com/piotr-iohk/ikar) is a lightweit web app over cardano-wallet and can be easily connected with underalying
Hope that helps! |
@piotr-iohk I can't thank you enough!!! thanks so much, using your instructions (and install git for windows) i was able to easily import it into my Daedalus app, and transfer the ADA across to a new shelley wallet!! That's a massive weight off my shoulders! and i can't thank you enough!!! I am sure i am not the first to be saved from everyones guidance and advice through this thread!! |
I trying to rename "Wallet-1.0" to "Wallet-1.0-acid" but use "Wallet-1.0" in command line instead, so now the error "There's no acid-state database matching the given path." resolved:
But now I get the error
I used daedalus in 2018 last time and now I have only Secrets-1.0 and Wallet-1.0 folders backup. Also I remember decrypt pasword. |
export-wallets-c1815b7d.tar.gz I triggered a compilation during lunch of the latest version of the export tool linked earlier. That version makes the acid-state database optional (as it is only really used to extract wallet names and map them to keys in the keystore). So you could use that to extract keys from your keystore. If you've a single one there's no ambiguity, and if you have multiple ones, you'd have to figure out which one is which by restoring them all and looking at the transaction history. |
Which linux version do you use? I can't find librocksdb.so.6 package for ubuntu 18.
|
The binary isn't statically linked sorry. That'd take a bit more work to do for Haskell system dependencies are typically dynamically linked. You need rocksdb to run that one unfortunately. On aptitude, you get the necessary dependencies by installing
|
@KtorZ Ok now I have a restored key from secret key:
Don't understand fully what I need to do now? |
@devilus one option is to try with this -> #2395 (comment). (Probably you might want to change |
@piotr-iohk I have a lastest 3.1.0 version Daedalus Mainnet installed and synced with fresh wallet. But after https connection to node only "Tools->Generate mnemonics" menu active. What I'm doing wrong? |
Did you click at Discover button and Connected to your Daedalus? |
This worked like a charm, it gave me:
Then I used Ikar, did the steps described in #2395 and voilà, I can see my old wallet syncing in the new Daedalus: Thank you so much @piotr-iohk and @KtorZ - you saved my ADA savings and I learnt a lot from you! :) |
Worked for me, too! Thanks so much, folks! (Yes, I’m one of those who were “smart” enough to backup However, I ran into two issues with the steps above which might be related to me being on macOS (not sure though). Here is what I did to make the
Also, the ikar approach didn’t work for me. All tabs except “Tools” were disabled, even though it was set to the correct port. I’ve therefore directly connected to the API using curl as outlined above by @piotr-iohk:
Make sure to replace That worked like a charm! Again, thanks a lot! ❤️ |
I was able to restore my wallet from my old state directory, so big thanks to everyone on this thread. However, that was only half the battle for me in regaining control of my ADA as I do not have my seed phrase (which is, admittedly irresponsible and entirely my fault given the warnings in Daedalus) and I am unable to recall my spending password. Is there any method to decrypt/extract/recover the existing spending password or otherwise bypass the spending password to allow me to move funds out of the old wallet? Thanks! |
No. The seed is encrypted with strong encryption. It'd take you more than a lifetime to brute force it. So, best you can do is to try passphrases you can think of. Again and again :/... |
The method worked perfectly well for me: #2395 (comment) I am a windows user. I have used the virtualbox with Ubuntu 20.04 and installed npm and node: Ikar worked perfectly well to import wallet back to daedalus as described. Fortunately I got the spending pass... Thank you for this thread! |
Thanks for the reply. Unfortunately for me, I used my password manager to generate a secure spending password and then somehow failed to save it. To come at it from a different angle, is there a way to repeatedly retry/check the spending password without manual intervention such that I could use a password cracking program to try to crack the spending password? I'm fairly certain I know the number of characters in the spending password, but that's about all I have to go on. Thanks again for your help. I know this isn't really a Cardano/Daedalus issue and was caused entirely by user error, so I really appreciate any insight you (or anyone else here) might be able provide. |
I am really sorry but, If this was possible we would have a major vulnerability problem. Things is, with the current encryption algorithm and parameters, each verification takes around 50ms on a high-end CPU. If you've generated your passphrase using a passphrase manager, then it's likely a quite secure passphrase, with quite many characters. The encryption is resistant to rainbow tables and dictionary attacks, so even with a passphrase of only 6 characters, it'd take you a few hundred years to brute-force it. Even with a modern GPU, for a long-enough passphrase it would just be unfeasible :/ |
@michael8359 Sounds like your secret.key is empty or corrupted indeed. |
@KtorZ No way for me to recover my wallet? |
@michael8359 I am afraid not. For any help with Daedalus however, please contact the technical support desk or, reach out on input-output-hk/daedalus#1234. Incidentally, one of the last comment on that thread recommend to make sure to close the old Daedalus before attempting to restore from the Closing this issue now since Daedalus 3.3.0 now bring back the wallet recovery feature. Thanks all for your patience 🙏 |
@KtorZ or anyone I have used the virtualbox with Ubuntu 20.04 and installed npm and node. Copied the secrets dir and run the restore-keystore tool as described above in Ubuntu Terminal. I get the below error. What am I doing wrong? Am I missing a package or library? Thanks. (node:4030) UnhandledPromiseRejectionWarning: Error: Additional info not implemented: 30 |
@NeedHelp305 the feature of importing old wallet from state directory or |
Indeed I did was the first thing I tried actually. I get the dreaded 'Wallets not found...' error as attached even though I point to directory and there is data in both State directory and secret.key file. So then I built a VM with Ubuntu 18.04. Installed node. Installed npm. Python etc. tried the ./export-wallets tool as described above and I'm now stuck here with this error: From the little I've been able to learn about Ubuntu it sounds like it's missing a specific file or library? Have not found how to install this missing library yet. Any ideas much appreciated. Thanks. |
Excuse me, Can you explain about algorithm of passphare ? I don't see any document said about it. |
@stive131 > @KtorZ Hi KtorZ. I have a secret.key which is set no spending password. Is it possible to get unencrypted private key(192 character) by export-wallets? I would like to import to yoroi. Hey! currently dealing with the same issue. I've got a fair bit of info on solutions, can possibly point you in the right direction of troubleshooting on your own. You can not decrypt your secret.key- It is a one way encryption only which only works with Daedalus. There is no function you can call to retrieve it. Are you working with a shelley or byron wallet? Do you know your mnemonics (you can use these in Yoroi). Are you currently using daedalus and what is your issue there? Do you know the error code? |
@stive131 when was your key file generated. is this a shelley wallet or byron? |
@fukur0kuju I have secret.key file but when i did import key and come out with error “wallet not found ”. Would you able to help me? |
@fukur0kuju I just reached out to you, I have a similar issue, would really appreciate any help you can provide! |
@stive131 @michael8359 @MSC-InfoTech do not send your secret.key file to anyone. They will wipe your account. This person above is a scammer, they will ask for your secret.key or money upfront. Stay away! |
#1 - I removed my entire error code due to the fact that I didn’t know if it contained sensitive information and was concerned when I saw someone post the same code above here. Have been dealing with Iohk on this for months - they’re aware of everything and of whom the owner of this wallet is. I have nothing to do with the Stive131 account. They’re using the error code I posted which is why I removed it. You’ll see my post predates their join date on here even. And you’ve appeared to just threatened me, which really isn’t needed. Just trying to protect people out here on the internet and I was alarmed that you created an account out of nowhere and started asking everyone to help. then I saw your repository asking for a secret.key file. No need to come at me or threaten me for trying to look out for others. If I’m wrong and you’re a good human, then I apologize buddy. |
I am happy to see everyone who used Daedalus have regained access to their old wallets :) Does anyone here have experience in regaining access to other wallets, such as Nami/CCVault? I have an encrypted key + spending pass from ccvault, mistakingly lost the seed phrase. |
hello, my friend, I came here to ask for your help, because I am completely lost in an attempt to regain access to my wallet, I had a very old daedalus wallet, which I only kept from it a master key, which is here with me, I have already acquired quite a few application that uses it to recover my funds, but I can't find this application, they all use words or a "secret.key" file, is there any application that I can use that generates a secret.key file to use in daedalus, or else that generates a key.json file so I can use it in adalite.io? thank you in advance and I apologize if I'm writing in the wrong thread |
Hello everyone! The ADA in the wallet is the money that was kept when the company was established. It was collected in the 10th year of establishment to contribute to society. How about it? Please help me! |
@DevKing1112 Please reach out to Daedalus team support here: https://iohk.zendesk.com/hc/en-us/categories/360000877653-Daedalus-wallet-mainnet |
I got your contact from Nikola Glumac.
I understand that you're the right team to contact in terms of older cardano wallets.
Would you happen to be so kind and review the following subject?
input-output-hk/daedalus#1234 (comment)
Long story short:
There are plenty of users stuck on the 0.15.1 daedalus wallet
which suddenly stopped working and our ADA funds are stuck in it.
Your insight and help is much appreciated.
//BR, Chris
The text was updated successfully, but these errors were encountered: