OP_EQUALVERIFY: ungleiche Daten

Ich versuche, die folgende Transaktion zu pushen, bekomme aber weiterOP_EQUALVERIFY: non-equal data

Hier ist die Transaktion

010000000122b2853f3145d35a56fc52cacda7d5ffe7e8f76b9fc2aecd312c899f5e41671a000000008c493046022100e484f5550ced311af2efb111237a54d0d93e68ac03ed5d084c669ae69afc36c902210087e69ce39c91936a4ec6fd66fb3b98d920a5ce4c3660a5519f9aa802787b09bb0141047920bd57b7b0dbf7ac242879ee1f1c4b87cbe30a1c31baa4d111850865042415d84f0a433174b3b17f41e280bfef85ff885dd8a1f25bf0823cfd77ec81bfc080ffffffff0101000000000000001976a914221382696ab041ff0bce2aceeea15132d9336fd488ac00000000

Und hier wird es entschlüsselt

{
   "lock_time":0,
   "size":225,
   "inputs":[
      {
         "prev_out":{
            "index":0,
            "hash":"1a67415e9f892c31cdaec29f6bf7e8e7ffd5a7cdca52fc565ad345313f85b222"
         },
         "script":"493046022100e484f5550ced311af2efb111237a54d0d93e68ac03ed5d084c669ae69afc36c902210087e69ce39c91936a4ec6fd66fb3b98d920a5ce4c3660a5519f9aa802787b09bb0141047920bd57b7b0dbf7ac242879ee1f1c4b87cbe30a1c31baa4d111850865042415d84f0a433174b3b17f41e280bfef85ff885dd8a1f25bf0823cfd77ec81bfc080"
      }
   ],
   "version":1,
   "vin_sz":1,
   "hash":"fff4294e225832d1649f244b1a93651126b1f92b3f5eaf03500ea38bb9a6127b",
   "vout_sz":1,
   "out":[
      {
         "script_string":"OP_DUP OP_HASH160 221382696ab041ff0bce2aceeea15132d9336fd4 OP_EQUALVERIFY OP_CHECKSIG",
         "address":"147BM4WmH17PPxhiH1kyNppWuyCAwn3Jm4",
         "value":1,
         "script":"76a914221382696ab041ff0bce2aceeea15132d9336fd488ac"
      }
   ]
}
valueSie sind auch falsch, diese Transaktion würde, wenn sie gültig ist, Ihr Geld in Gebühren vernichten . Verwenden Sie das Testnetz, um mit Bitcoin zu experimentieren, oder Sie haben ein sehr hohes Risiko, Ihr Geld zu verlieren.

Antworten (1)

Diese spezielle Fehlermeldung auf bc.i bedeutet, dass die Transaktion ungültig ist, da die OP_EQUALVERIFY-Operation fehlgeschlagen ist

scriptSig ist:

493046022100e484f5550ced311af2efb111237a54d0d93e68ac03ed5d084c669ae69afc36c902210087e69ce39c91936a4ec6fd66fb3b98d920a5ce4c3660a5519f9aa802787b09bb01
41047920bd57b7b0dbf7ac242879ee1f1c4b87cbe30a1c31baa4d111850865042415d84f0a433174b3b17f41e280bfef85ff885dd8a1f25bf0823cfd77ec81bfc080

Der öffentliche Schlüssel lautet also:

047920bd57b7b0dbf7ac242879ee1f1c4b87cbe30a1c31baa4d111850865042415d84f0a433174b3b17f41e280bfef85ff885dd8a1f25bf0823cfd77ec81bfc080

Dies ist ein uncompressedöffentlicher Schlüssel und seine Adresse ist1Lj3WeRAmyN98jyiWE6AtnMKfzUzrPUL9z

Aber 1a67415e9f892c31cdaec29f6bf7e8e7ffd5a7cdca52fc565ad345313f85b222:0sendet Bitcoins an die andere Adresse:1LCrg6DSqbcK5vh7XRAGEQA4jBpNigjwyV

Sind Sie sicher, dass Sie einen unkomprimierten öffentlichen Schlüssel anstelle eines komprimierten verwenden?

Also verwende ich bitcoinlib-js, um die Transaktionen für mich zu erstellen. Ich lege den öffentlichen Schlüssel nicht fest, sie leiten ihn von meinem öffentlichen Schlüssel ab. Ich werde dem aber nachgehen.
Darf ich fragen, wie Sie den öffentlichen Schlüssel aus dem scriptSig abgeleitet haben? Ich kann keinen Weg finden, wie das geht
Peter, scriptSig für p2pkh-Ausgaben hat eine sehr einfache Struktur: zwei Push-Operationen. Der erste Push ist Signatur + Hashtyp. Der zweite Push ist pubkey.