I started running a pruned node on an old MacOS and I am a little bummed on the wallet functionality. I imported a descriptor, but the balance does not update according to the UTXOs 'owned' by the descriptor. Is there a technical reason Bitcoin Core updates wallet balances by doing a chain rescan instead of referencing the UTXO set? Similarly, a listunspent does not return the UTXOs from the descriptor but a scantxoutset returns the relevant UTXOs.
I think it would be cool for people (me lol) to check their balances on a pruned node without necessarily caring about the history, since the node already did the IBD.
Andrew Chao, Bitcoin Core dev and PSBT legend, closed this issue a while ago on Github as apparently it would be a painful rewrite of the wallet. Anyone have an explanation?
it would be a painful rewrite of the wallet.
Describes itself?
reply
I was alluding to more of a technical explanation and if there was a specific reason for the pain.
reply
If you only look at utxo set you miss wallet history which may effect things like gap limits.
reply
Good point. I’m willing to sacrifice an incorrect balance due to exceeding the gap and manually increasing the gap. Something Bitcoin Core cannot tolerate for the sake of not misleading a user that their balance is less than displayed.
reply