Something strange is happening with my wallets. I'm digging through old USB drives and loaded a wallet.dat file into Bitcoin Core on two different computers. Both are running the same version, but the addresses look totally different. On one machine, I've got an address starting with a 3 that's shown received coins, but it doesn't appear in the receiving addresses list. What gives?
We need more info. Are you loading the exact same wallet file on both PCs? What version of Bitcoin Core are you dealing with here? Also, what's the prefix of the addresses? 1 for legacy, 3 for p2sh-segwit, or bc1 for native segwit? Don’t forget, there’s a button in the receive tab to switch address types.
Old wallets used to be all over the place with non-deterministic behavior. If you copied the wallet.dat, old keys were accessible on both nodes, but new addresses would be all random after the copy. So now both machines might be making unique keys based on the same old keys.
Thanks for the replies! Found some updates. Machine 1 is offline but updated the blockchain recently, while Machine 2’s blockchain is ancient. Both have the same wallet.dat, or at least a close copy. Both show the same received transactions, but balances differ slightly.
I'm still lost here... Are you seeing addresses starting with 1, 3, and bc1 on both machines? Those starting with 1 are legacy, 3 for p2sh, and bc1 for newer segwit. Did you play around with multisig or use the console for different types of addresses?
No multisig here. I think the real issue was that Machine 1 saw used addresses and hid them. Machine 2 was generating new addresses 'cause it didn’t know better, making it seem like they were out of sync. Finally found an unused address on both.
Glad you found a solution! By the way, there's a command called "listreceivedbyaddress 0 true" you can use in the console. It should show all addresses that ever received funds. The 0 shows it includes unconfirmed, and true means it counts watch-only addresses.
That’s interesting. I ran that command on both machines, and they showed a legacy address funded the same. But Machine 2 showed a p2sh address with more coins. How can both show received coins but not match up?
Feels odd that both machines show the same p2sh address, yet only one lists it in the command output. Maybe the wallets are just out of sync, or the transaction funding that address is unconfirmed or not fully recognized yet?
Try restarting Bitcoin Core and perform "rescanblockchain" on both wallets. That should update the transaction history and give you matching results for "listreceivedbyaddress" on both machines.
Older legacy wallets generated keys randomly and when those ran out, new keys were created. If you're recovering from backups, you could seriously miss some newer keys and hence lose access to coins if you're not careful.
So there’s a real risk of losing access to coins just from messing with backups? That's kinda scary... Guess I better keep a closer eye on my wallet management.