input-output-hk / cardano-sl

Cryptographic currency implementing Ouroboros PoS protocol
Apache License 2.0
3.77k stars 630 forks source link

build cardano with existing wallet #3959

Open nicraMarcin opened 5 years ago

nicraMarcin commented 5 years ago

We already have state-wallet-mainnet/wallet-db I install clean cardano and i want to include existing wallet. When I build nix-build -A connectScripts.mainnet.wallet -o connect-to-mainnet , copy my old folder wallet-db then I'm getting error that cadano can't find wallet :( So how to build full cardano with existing wallet?

vsubhuman commented 5 years ago

the state-wallet-mainnet directory is linked as ./state-wallet-mainnet from the location where you launch the connect-to-mainnet script, so just try launching the new version from the old location, e.g:

dir/
   cardano-sl-old/
      state-wallet-mainnet/
      connect-to-mainnet
   cardano-sl-new/
      connect-to-mainnet

In this case:

cd dir/cardano-sl-old
. ../cardano-sl-new/connect-to-mainnet

Or just try replacing the whole state directory with the old one.

But make sure your new version is compatible with the old state (i.e. 1.*)

nicraMarcin commented 5 years ago

Thank You @vantuz-subhuman but even copy didn't work :( stil error that node can't find wallet with scecific id.

rvl commented 5 years ago

Thanks for the very helpful report @nicraMarcin .

I reproduced the error message by following your instructions:

[diffusion:ERROR:ThreadId 285] [2018-12-22 07:56:45.60 UTC] stopping with exception RequestError "No wallet with address Ae2tdPwUPEZ35rVrgtyZjMH1y2PR6gdDqBojbLmRL3coYswB5FYeGsvj3Tq found"

As @vantuz-subhuman says, you must replace the whole state directory with the old one.

The state directory actually contains multiple databases and we do not support replacing individual bits. Either copy the entire state directory, or (first back up and) delete the entire state-wallet-mainnet directory, sync the chain, then use the API to restore your wallet from backup phrase.

Does that help?