回复:发送币时比特币崩溃
原始发布页
打开来源页面查看 1 个交叉存档
重新同步的思路是遍历你的钱包,对照区块索引检查它,找出当前计算机没有意识到已经被花费的交易。如果它们是在另一台拥有钱包文件副本的计算机上被花费的,或者你不得不把钱包恢复到它们被花费之前的备份,就可能发生这种情况。目前,软件只是认定自己始终知道其交易是否已被花费,因为它在花费这些交易时会在 wallet.dat 中把它们标记为已花费。
钱包合并工具可以实现,但一旦重新同步解决了大部分问题,对它的需求就会少得多。有了重新同步,你可以通过把一个钱包中的所有钱发送到另一个钱包来完成大致相同的事情。接收方会重新同步,发现它所有重叠的币都已被花费,然后通过新交易收到这些币。
英文原文
展开英文原文
The resync idea would go through your wallet and check it against the block index to find any transactions that your current computer doesn't realize are already spent. That could happen if they were spent on another computer with a copy of the wallet file, or you had to restore the wallet to a backup from before they were spent. Currently, the software just assumes it always knows whether its transactions are spent because it marks them spent in wallet.dat when it spends them.
A wallet merge tool is possible to implement but much less in demand once resync solves most of the problem. With resync, you could do about the same thing by sending all the money from one wallet to the other. The receiver would resync and discover all its overlapping coins were spent, then receive them in the new transaction.