Ich scheine zu viele ungenutzte Ausgaben für mein gegebenes Guthaben zu haben. Was vermisse ich?

Ich habe eine Adresse im Testnetz. Ich habe mit 1,3 BTC angefangen. Ich habe dann 0,5 BTC an eine andere Adresse geschickt. Mein Kontostand beträgt jetzt 0,8. Okay, das macht Sinn.

Ich erwarte jetzt einen UTXO, der 0,8 im Vergleich zur vorherigen Transaktion war. Aber wenn ich listunspent ausführe, sehe ich, dass ich zwei UTXOs habe. Die Balance ist korrekt, aber es scheint, dass ich zwei Ausgänge habe.

[
  {
    "txid": 
   "321dab633022a33c3a49b4aab4b13d3c431771ae9402746dbb6dcc21be5fd603",
    "vout": 1,
    "address": "2N4wJG7gs1mVXeMkX2MCuyekZUCSzrW7CjT",
    "redeemScript": "0014221f8d76c5b85e979055e54ac97a0cada38bc4e9",
    "scriptPubKey": "a914803d96c7e19e4a568764f9912fa54499f814cd8e87",
    "amount": 0.79999834,
    "confirmations": 119,
    "spendable": true,
    "solvable": true,
    "safe": true
  }
]

Wenn ich gettxout mit txid und vout 0 ausführe, ist die erste Transaktion UTXO 0,5.

{
  "bestblock": 
  "0000000000000043a1abc3cf9c778d3adeb417488019a507da871db9df74ffad",
  "confirmations": 119,
  "value": 0.50000000,
  "scriptPubKey": {
     "asm": "OP_HASH160 a43f8a90f292b6be0b487556ac357709a5e86480 OP_EQUAL",
     "hex": "a914a43f8a90f292b6be0b487556ac357709a5e8648087",
     "reqSigs": 1,
     "type": "scripthash",
     "addresses": [
       "2N8Dgvfmgs4fNCi7QatLZJR8ArvhPpMPW8P"
     ]
  },
  "coinbase": false
}

Und wenn ich gettxout mit vout 1 ausführe, ist die zweite Transaktion UTXO 0,799 (0,8), was der Saldo ist.

{
  "bestblock": 
  "0000000000000043a1abc3cf9c778d3adeb417488019a507da871db9df74ffad",
  "confirmations": 119,
  "value": 0.79999834,
  "scriptPubKey": {
    "asm": "OP_HASH160 803d96c7e19e4a568764f9912fa54499f814cd8e OP_EQUAL",
    "hex": "a914803d96c7e19e4a568764f9912fa54499f814cd8e87",
    "reqSigs": 1,
    "type": "scripthash",
    "addresses": [
      "2N4wJG7gs1mVXeMkX2MCuyekZUCSzrW7CjT"
  ]
},
"coinbase": false

}

Und dementsprechend: Wie kann man überprüfen, ob eine Ausgabe ausgegeben wurde?

Wenn gettxout etwas zurückgibt, wird die Ausgabe nicht ausgegeben.

Warum habe ich zwei nicht ausgegebene Ausgaben mit der ersten in der gleichen Menge, die ich an eine andere Adresse gesendet habe?

Kontrolliert Ihr Wallet beide Adressen? 2N4wJG...und 2N8Dgv...? Wenn ja, ist es sinnvoll, dass beide UTXOs mit aufgeführt werdenlistunspent
Ok, das ist es wohl. Als Übung habe ich zwei Kopien von wallet.dat erstellt: Sending.dat und Received.dat. Ich ließ dann einen Test-Faucet einige BTC an die Sending.dat senden. Ich habe dann btc von Sending.dat nach Received.dat gesendet. Was Sie in meiner ursprünglichen Frage sehen, waren die beiden UTXOs für das Senden von.dat. Ich vermute also, dass alle resultierenden Adressen, die ich erstellt habe, tatsächlich zur selben Brieftasche gehören, weil ich Kopien von wallet.dat erstellt habe?
Ja, die Adressen gehören zum gleichen Wallet. Es wurde dieselbe Datei kopiert, und mit den HD-Wallets von Bitcoin Core werden immer dieselben Adressen und privaten Schlüssel mit diesen Wallet-Dateien generiert.

Antworten (1)

Gemäß den Kommentaren zur Frage von OP

Da Sie eine Kopie der Datei wallet.dat (in HD-Format) erstellt haben, werden beide Adressen von (beiden Kopien) Ihrer Brieftasche kontrolliert. Daher werden beim Aufruf des listunspentBefehls beide UTXOs aufgelistet, da jedes Wallet beide UTXOs ausgeben kann.

Wenn Sie eine neue Brieftasche verwendet haben, um eine neue Adresse zu generieren und etwas Geld dorthin zu senden, listunspentsollte der Befehl wie ursprünglich erwartet funktionieren, da Ihre Bitcoin-Core-Brieftasche nicht auch die Adresse kontrollieren würde, an der Sie Münzen ausgegeben haben (es würde nur die Änderung kontrollieren). Adresse).