How can I check if a key image has been successfully imported into a view wallet, particularly a cold wallet that has never spent any of the funds it has received?
2 Answers
The easiest thing to do, in my view (due to it being the most thorough), is to set up a normal wallet and daemon on an air-gapped computer (one not connected to the internet). Your air-gapped wallet will contain both the private viewkey and the private spendkey.
You can periodically save a copy of the blockchain from an internet-facing computer, transfer it via USB or whatever to the air-gapped computer, and have the wallet sync to that. During the sync process, this method will create key images for all outputs owned by that wallet (and, of course, it'll also check whether the key images have been spent).
This is the most thorough way of knowing that all key images are accounted for, since the wallet will create any that are missing. In fact, this is arguably the only way for a cold wallet to "know" it reflects an accurate balance, because it has the private spendkey to do the key image work.
If you have an internet-facing wallet which only contains a private viewkey, but does not contain a private spendkey, then this task may be more of a manual process. If you know the key image of a particular deposit, and you think you've imported the key image but you're not sure, you can run incoming_transfers_verbose
to see the list of key images currently in the wallet. See this thread for more details on looking up key images.
If the view key has been successfully imported you should be able to see your balance.
-
2I think he meant, how do you tell the difference, ie you see some balance even without importing, for 'virgin' wallets it will be the same after the import, so how can you tell whether you've successfully imported a key image for each output you 'own', spent or unspent. Commented Jan 23, 2017 at 9:58
-
2@JollyMort Yep.– user4Commented Jan 23, 2017 at 16:54