Bitcoin Client Software and Version Number: /Satoshi:0.15.1/
Operating System: Fedora 27, but N/A
System Hardware Specs: N/A
Description of Problem: Not seeing the balance of a segwit address.
Any Related Addresses: 37BCeqyLbB4GPRajwoWQUAGMz19GYmVC7z
Any Related Transaction IDs: 8f49cf0eb248ca19eb438ecf90e3adeaaf336141407cd5b4109330f0a38bb3be
Screenshot of the problem:
https://i.imgur.com/xguhLcK.pngLog Files from the Bitcoin Client: I will supply these latter if necessary but think not atm.
I recently withdrew from an exchange and decided to do so into a segwit address. I generated an address as normal, used that address with the addwitnessaddress command. I then withdrew to the segwit address successfully, and the balance updated on my laptop. I have HD key generation enabled.
With HD generation I share the same wallet between two computers (desktop and laptop) and this works fine as the both generate the same addresses and do so 100 address ahead so they both scan the addresses I usually send to and both update their balance and spendable outputs.
However in this instance my desktop was not scanning the segwit version of the next address and failed to see the transaction, leading to the same wallet have 2 different balances across my 2 computers. I have since used the addwitnessaddress command to force my desktop to use the segwit address, and it has generated the correct one which has a balance if checking a block explorer. However it has not rescaned the address and the balance it see remains the same. Both of my computers run as pruned nodes, so they cannot easily rescan the blockchain.
I have been trying to use the importprunedfunds command. It requires the rawtransaction and txoutproof. I can obtain the rawtransaction from my laptop but whenever I try to get the txoutproof I get the error shown in the screenshot. Am I inputting the command incorrectly?
Another thought, what about my backups. The addresses are HD, which Is why I feel safe having made backups ages ago and not thinking about them much. I also know that a legacy HD generated address will map to a segwit address. However in a backup with so many address, how will I know which to generate segwit address for. I would probably make a script that did it for all of them just to check, but if I die and leave the backups to a family member they are unlikely to know about the different address formats and will lose whatever money is in the segwit address. (as it is they are encrypted and nobody can access any of it, but this is something to think about.) I hope that further versions of core will automatically scan segwit address as well as legacy ones, but before then anyone using them may have to leave a note with their backups.
Anyway, any thoughts or suggestions?