Closed buhtignew closed 6 months ago
Your findings are as expected. Pacli will not test if the labels/addresses in the configuration file are in your wallet. Wallet switching will not be officially supported either (see below for an exception). Normally you'd simply have to delete all config files in this case.
Keyring addresses and extended config file address labels are independent, so if you create a new label in the config file, it won't be added to the keyring. This is why you have so much less addresses in the keyring.
The exception I mentioned above: I have added is a command to erase entire categories of the extended config file, in the case of wallet switching this gets rid of the address
category. Make a backup first if you want to use the old wallet sometimes. The full command is pacli config set CATEGORY --flush --now
or -f --now
. I've pre-tested it. Commit is 30545d6.
My advice for you in this case, so you can preserve at least the addresses you have in the keyring (and the transactions related to them), is that you do the following steps:
1) If you want to preserve specific addresses of the old wallet file, for example some where you received claimed tokens, or did burn transactions, then fire up Slimcoin with the old wallet file and save these addresses in the keyring with pacli address set LABEL ADDRESS -k
. Then once you do the import (step 5) they will be imported too.
2) Now change to your new wallet file.
3) Make a backup of extended_config.json
4) Flush the address category: pacli config set address -f --now
5) import keyring addresses to the extended config file: pacli address set -i
And you have your keyring addresses in the extended config. Very likely ~It is possible that~ you'll have to ~resync~ rescan the blockchain after that, but in my case (I tried it with an almost fresh wallet file) all addresses were shown normally after the command in step 5.
Edit: I think actually you always have to rescan (not resync!).
Thank you for your suggestion. I've tested pacli config set address -f --now
and it works.
I think I'm more familiar now with the wallet switching procedure.
We can close this issue.
What I basically did was to backup a copy of extended_config.json
file, then to run pacli config set address -f --now
to see the addresses are gone and then to restore the old extended_config.json
file to see them back.
The only issue is that the token list
shows no result now as well not even after I've restored the old extended_config.json
file.
I don't know whether it's connected, maybe it's another issue, because I'm not seeing any deck in all my recently installed pacli
's, i.e. on the server and in the docker container.
What I basically did was to backup a copy of extended_config.json file, then to run pacli config set address -f --now to see the addresses are gone and then to restore the old extended_config.json file to see them back.
No, this is not the correct procedure and cannot work. The step 5 I outlined above is important, otherwise the addresses will not be imported to the new wallet. Please follow the steps I described above.
~~Do you want me to test the procedure? (I'm ready to do it of course, if needed). If not I'll follow it as soon as I need to import the addresses, but for the moment I'm fine with how I've managed the question. My idea was to go on using the old wallet and in case of issues that make us assume my old wallet is corrupted to test the same commands with the new wallet as well. Once we've clearly seen that it's my old wallet's behavior that is anomalous and thus I shouldn't use it for testing I'd begin thinking about which addresses should be exported from the old wallet and imported into the new one. I'd prefer to do like this because I think it's possible that my slimcoind installation is wrong instead and to discover it I'm going to use a regular installation on Ubuntu18 on my docker container as well to see what causes anomalies (whether the wallet or the installation). If my installation is right, the hack I've operated to make it work could be useful for those who would need to use slimcoind on more modern OS, until we don't have a steady core development again.~~ <- (please see the EDIT1 beneath)
The real issue I feel to have right now is that there is no deck's list anymore in my installation(s). Where should I pick it up from or how should I do to import it/to make it appear again?
EDIT:
The token list
used with my old wallet works as usual.
However in the new installations I have on the server and on the docker container and also with the new wallet the list is empty.
EDIT1:
I've tested the address transfer procedure as you suggested.
Here is the list of my keyring addresses (address list -k
output) as seen while slimcoind is running with the old wallet:
| Label | Address | tslm | PoB tokens | dPoD tokens |
+--------------------+------------------------------------+--------------+------------+-------------+
| new_after_refill9 | mtYvCVBtEayA5y6szGSrSgGwHQfe44Bgh2 | 91.55 | 0 | 0 |
| origin_address | mixcqdAy4aFtuBV7uRebqBTjiFWCcS4UEp | 27114.9 | 61600.0 | 0 |
| new_keyring | mqKRFEhXsY5n2QNeKzq9QTDC2huG3k1fNR | 0.0 | 0 | 0 |
| keyring_address | mw9gjLtQVhu34YKep7vrZJDiong69Zmyid | 0.0 | 0 | 0 |
| new_one | mtmKbmMHdcXXepscuNrwAfjsKLeZzdZdya | 1358.24 | 1210.0 | 10.0 |
| donor_address8 | mg59ZLqztR5zWQB9HknPNHFH4PHwcq4Ee2 | 0.01 | 0 | 0 |
| donor_address1.2.1 | mskwPWmHNAV2yfKPDCs4Yt6WvSpfGbA64e | 0.01 | 0 | 0 |
| donor_address1.2 | mzHSKpCYK2J4Np6cVimPQsJufU7ZwesrcL | 0.01 | 0 | 0 |
| donor_address | mukgdQJzBzCkMVjmUNgcmDJD5cwY3zzua6 | 0.01 | 1.0 | 0 |
| origin_address2 | mfkwJpC1RaEAPrh6bNk849jFyzMgBA3td1 | 0.0 | 0 | 0 |
| main | mw6J8BWwsbERhCmVYPdS4Kk5W21FuK3Qt3 | 0.0 | 0 | 0 |
| | mq1jZAiu8NoL3U3Ed7YiDdfjmY5t6Zphvq | 99.87 | 9999.0 | 0 |
| | n1WEs2vcEbXFQWe6GtsFgHfQmzavHVYMi4 | 0.11 | 0 | 0 |
| | mpKx1QBBFSPY3b7CjrR4Mvcq4t1tHiAEcz | 39.77 | 20.0 | 0 |
| | mrnZpB5Wm1FDBBcZ1s1pdPHpQgzaLRteSr | 1580.91 | 2000.0 | 0 |
| | mfq11jH49F2jqUMrVpGZhtyeDC88Vk9Vs8 | 2310.18 | 2400.0 | 0 |
| | mgLyx4nNSPjcimazmo5U2Z8khUiRZWq5hn | 0.09 | 0 | 0 |
| | n2nSbZYLV77NFHSD3P4ZdFKyp65rtTHP1b | 1472.48 | 102366.0 | 0 |
| | mhg25VziknSgQLBg6uCMBXsT8VpwbaQUJR | 0.01 | 10.0 | 0 |
| | mx5MdsenFDZufFuwT9ND7BKQBzS4Hy9YUP | 40424.348257 | 73410.0 | 0 |
| | mkwJijAwqXNFcEBxuC93j3Kni43wzXVuik | 1.28 | 0 | 0 |
| | mgiYjQjREbtKcKKH1kFXo1ycWCfGB5aZd7 | 0.09 | 0 | 0 |
| | mrnrAyYBG9gNzdAiZ6aRDC3tBkrCsjTnSi | 0.01 | 100.0 | 0 |
| | n4HXAq2XjJAt4cNRL9gpPjDS7r8hxmghVR | 0.01 | 0 | 0 |
| | mtvQZrb9BC8HFtXe87Ev5PEUeA1cSvP211 | 0.22 | 0 | 0 |
| | n1xC4Dkp48mbsJsMV3yYEho6adBmbjgqNV | 0.01 | 10.0 | 0 |
| | muhhYam1NXMSUqKx4uSrfjS7N7Fcz6j6Qx | 0.02 | 0 | 0 |
| | myNxw2uMoQjtuvh1BZz1NhsmogUbTsFUhq | 0.02 | 0 | 0 |
| | mqZ5nqs6bpaAqEoEV9jVFfwsM3hBZD4C3J | 0.05 | 0 | 0 |
| | n3MtPoPaAREU5GEhAErBPuju83bVog2opz | 2187.25 | 1850.0 | 0 |
| | mzP9BNtqjSNq2rJ58w8GpQNnez38NGagsU | 0.07 | 0 | 0 |
| | miHhMLaMWubq4Wx6SdTEqZcUHEGp8RKMZt | 0.21 | 0 | 0 |
| | myKpK8viS9k8JSWEA9syitxLJUTqdSeSvr | 0.02 | 0 | 0 |
| | mpF9FcfSps5jPSG2vDdGVF883xNFez1UGT | 0.06 | 0 | 0 |
| | mmjaHuS1kTRMFJaTJqYMjdmF18n36eXHfD | 0.07 | 0 | 0 |
| | mvuMyLkLkYKtnq3DkPY6Xe91AYthEGcfym | 0.1 | 0 | 0 |
| | mjXqewNUxUCW4v6bQ7CzhRAVMLHmQ6ktxN | 2824.15 | 2100.0 | 0 |
| | mguM6Xso6UEVT8uPYGnFMw9aPBZ2vtRKoH | 0.16 | 0 | 0 |
| | mxfu9BNbsaECVVBRiqzavcvp6xhB2cz9r8 | 0.19 | 0 | 0 |
| | n4AoPomtAQRxsTc2TDMFMsP2PonhZ2vVAz | 0.01 | 4.0 | 0 |
| | moDgh2HgPZKWpFrNesC4QVBzvBrV79p9pA | 0.09 | 0 | 0 |
| | mwutmXuJEzDvfs59nKY47Unm3M8cszxhf9 | 0.04 | 0 | 0 |
| | mwgpxrjnzXxfXSdZaD6WvtH1122B1fwMv4 | 20755.8 | 1800.0 | 0 |
| | mk9WFSTqgtTJbwb5g6pGpByTRbYKiSaX3w | 0.01 | 0 | 0 |
| | mqnBdCH2cuoSiQWjKoEZHfov77bzrpmtNX | 0.09 | 0 | 0 |
| | mxuqE6UWREDuWuMkBWoz1F8jfZur5CM3ZH | 2451.89 | 1700.0 | 0 |
| | mfemhfkdD9tZG7Lukv2dT7vdq8d5xYFQCX | 3532.050554 | 1900.0 | 0 |
| | mtMGkB2mVxzPNZCWHruRmG1SmsSJBtyCUD | 89.96 | 0 | 0 |
| | mskxtnWBJ1bBYZxmHe8rTR5H8ayZEXvG35 | 135133.83 | 142690.0 | 0 |
| | mxasNazVpdfTmjQcedfxtHQtb3NXKVGEzh | 0.02 | 0 | 0 |
(the new_after_refill9
address is one I've imported into keyring in agreement to the point 1 of your description)
Here is my address list -k
output while slimcoind is running with the new wallet, but before I've imported the addresses yet:
| new_after_refill9 | mtYvCVBtEayA5y6szGSrSgGwHQfe44Bgh2 | 0.0 | 0 | 0 |
| origin_address | mixcqdAy4aFtuBV7uRebqBTjiFWCcS4UEp | 0.0 | 0 | 0 |
| new_keyring | mqKRFEhXsY5n2QNeKzq9QTDC2huG3k1fNR | 0.0 | 0 | 0 |
| keyring_address | mw9gjLtQVhu34YKep7vrZJDiong69Zmyid | 0.0 | 0 | 0 |
| new_one | mtmKbmMHdcXXepscuNrwAfjsKLeZzdZdya | 0.0 | 0 | 0 |
| donor_address8 | mg59ZLqztR5zWQB9HknPNHFH4PHwcq4Ee2 | 0.0 | 0 | 0 |
| donor_address1.2.1 | mskwPWmHNAV2yfKPDCs4Yt6WvSpfGbA64e | 0.0 | 0 | 0 |
| donor_address1.2 | mzHSKpCYK2J4Np6cVimPQsJufU7ZwesrcL | 0.0 | 0 | 0 |
| donor_address | mukgdQJzBzCkMVjmUNgcmDJD5cwY3zzua6 | 0.0 | 0 | 0 |
| origin_address2 | mfkwJpC1RaEAPrh6bNk849jFyzMgBA3td1 | 0.0 | 0 | 0 |
| main | mw6J8BWwsbERhCmVYPdS4Kk5W21FuK3Qt3 | 0.0 | 0 | 0 |
Here is the same list after I've imported them from the keyring:
| new_after_refill9 | mtYvCVBtEayA5y6szGSrSgGwHQfe44Bgh2 | 91.55 | 0 | 0 |
| origin_address | mixcqdAy4aFtuBV7uRebqBTjiFWCcS4UEp | 27114.9 | 0 | 0 |
| new_keyring | mqKRFEhXsY5n2QNeKzq9QTDC2huG3k1fNR | 0.0 | 0 | 0 |
| keyring_address | mw9gjLtQVhu34YKep7vrZJDiong69Zmyid | 0.0 | 0 | 0 |
| new_one | mtmKbmMHdcXXepscuNrwAfjsKLeZzdZdya | 1358.24 | 0 | 0 |
| donor_address8 | mg59ZLqztR5zWQB9HknPNHFH4PHwcq4Ee2 | 0.01 | 0 | 0 |
| donor_address1.2.1 | mskwPWmHNAV2yfKPDCs4Yt6WvSpfGbA64e | 0.01 | 0 | 0 |
| donor_address1.2 | mzHSKpCYK2J4Np6cVimPQsJufU7ZwesrcL | 0.01 | 0 | 0 |
| donor_address | mukgdQJzBzCkMVjmUNgcmDJD5cwY3zzua6 | 0.01 | 0 | 0 |
| origin_address2 | mfkwJpC1RaEAPrh6bNk849jFyzMgBA3td1 | 0.0 | 0 | 0 |
| main | mw6J8BWwsbERhCmVYPdS4Kk5W21FuK3Qt3 | 0.0 | 0 | 0 |
| | miHhMLaMWubq4Wx6SdTEqZcUHEGp8RKMZt | 0.21 | 0 | 0 |
The strange thing is the last address of the list. Somehow, although without any label, it's considered to be saved into the keyring.
_
I'd like to ask you whether it would sense using the address or the address' label only in the address set LABEL ADDRESS -k
command?
I don't know whether it's expected, but it seems like address set LABEL ADDRESS -k
command sets also the address to export into keyring as the main one.
The token list
output is void once I start slimcoind with the new wallet, even before I flush the address category with config set address -f --now
.
The real issue I feel to have right now is that there is no deck's list anymore in my installation(s). Where should I pick it up from or how should I do to import it/to make it appear again?
Probably you simply didn't rescan after changing wallet files. The rescan is always necessary when you change wallet files. I erroneously wrote "resync" in my previous post, which should have been "rescan", so sorry it could have been my fault here.
I'd like to ask you whether it would sense using the address or the address' label only in the address set LABEL ADDRESS -k command?
Don't understand this suggestion, this command is to store a new address with label in the keyring, so you need both values.
I don't know whether it's expected, but it seems like address set LABEL ADDRESS -k command sets also the address to export into keyring as the main one.
It is expected as of now. But I can change it if it's too "surprising".
The strange thing is the last address of the list. Somehow, although without any label, it's considered to be saved into the keyring.
Did you import this address manually perhaps, and it shows it because it has a balance? It's not possible normally to save an address without label in the keyring.
The rescan is always necessary when you change wallet files.
This has worked, thank you.
I'd like to ask you whether it would sense using the address or the address' label only in the address set LABEL ADDRESS -k command?
Don't understand this suggestion, this command is to store a new address with label in the keyring, so you need both values.
My fault, I've interpreted the command as "copy from extended file to the keyring", while in reality it's "attach a label to the address in the keyring".
I don't know whether it's expected, but it seems like address set LABEL ADDRESS -k command sets also the address to export into keyring as the main one.
It is expected as of now. But I can change it if it's too "surprising".
It's not a big deal, but it's a bit more surprising than just letting the main address as it is.
The strange thing is the last address of the list. Somehow, although without any label, it's considered to be saved into the keyring.
Did you import this address manually perhaps, and it shows it because it has a balance? It's not possible normally to save an address without label in the keyring.
I don't remember to have imported the address manually, but from here it seems that the address miHhMLaMWubq4Wx6SdTEqZcUHEGp8RKMZt
is a P2TH address and I've imported it manually while initializing a deck. If so it's not clear why the other initialized decks's addresses hasn't appeared after I've imported them from the keyring into extended file.
I just came across the solution for the enigma: miHhMLaMWubq4Wx6SdTEqZcUHEGp8RKMZt is the "PAPROD" (PAPROD means "PeerAssets Production", because there is also a "PATEST" option which gives you sort of a "Peerassets test platform" even on mainnet) P2TH address. This is the address that tracks deck spawns in PeerAssets. It is automatically imported when pacli is run and the address isn't found in the wallet.
I changed the address set -k
command so the main address isn't changed. Commit: f64ede3
If all problems are gone the issue can be closed thus.
As suggested by you I'm closing this issue.
As agreed here I've renamed my old wallet and restarted slimcoind to create a new one.
Everything went smoothly except the fact my pacli is "seeing" the labeled addresses of the old wallet. I.e. while for my previous wallet the
tokens balances -w
output was:With the new wallet the same command outputs as following:
Which by the way is the same output of the
address list
command.The above addresses are not in keyring, since the
address list -k
output of the new wallet is:While that of the old one is:
By the way the
address list -k
execution times for the new and the old wallet differs considerably: the new wallet requires a bit less than 1½ seconds while the old one needs almost 14 seconds.Of course if I run
slimcoind dumpprivkey myHPHhnncUaiFQGqN1FK2qFtwcfPE4Bkqc
while slimcoind is using the new wallet I'm gettingPrivate key for address myHPHhnncUaiFQGqN1FK2qFtwcfPE4Bkqc is not known
error.So what is the correct procedure to switch to the new wallet and what will I need to do if wanted to use the old one again?