OP_EQUALVERIFY: неравные данные

Я пытаюсь выполнить следующую транзакцию, но продолжаю получатьOP_EQUALVERIFY: non-equal data

Вот транзакция

010000000122b2853f3145d35a56fc52cacda7d5ffe7e8f76b9fc2aecd312c899f5e41671a000000008c493046022100e484f5550ced311af2efb111237a54d0d93e68ac03ed5d084c669ae69afc36c902210087e69ce39c91936a4ec6fd66fb3b98d920a5ce4c3660a5519f9aa802787b09bb0141047920bd57b7b0dbf7ac242879ee1f1c4b87cbe30a1c31baa4d111850865042415d84f0a433174b3b17f41e280bfef85ff885dd8a1f25bf0823cfd77ec81bfc080ffffffff0101000000000000001976a914221382696ab041ff0bce2aceeea15132d9336fd488ac00000000

А вот и расшифровка

{
   "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"
      }
   ]
}
Ваша valueтакже неверна, эта транзакция, если она действительна, уничтожит ваши деньги в виде комиссий. Используйте тестовую сеть для экспериментов с биткойнами, иначе вы рискуете потерять свои деньги.

Ответы (1)

Это конкретное сообщение об ошибке на bc.i означает, что транзакция недействительна из-за сбоя операции OP_EQUALVERIFY.

scriptSig:

493046022100e484f5550ced311af2efb111237a54d0d93e68ac03ed5d084c669ae69afc36c902210087e69ce39c91936a4ec6fd66fb3b98d920a5ce4c3660a5519f9aa802787b09bb01
41047920bd57b7b0dbf7ac242879ee1f1c4b87cbe30a1c31baa4d111850865042415d84f0a433174b3b17f41e280bfef85ff885dd8a1f25bf0823cfd77ec81bfc080

Итак, открытый ключ:

047920bd57b7b0dbf7ac242879ee1f1c4b87cbe30a1c31baa4d111850865042415d84f0a433174b3b17f41e280bfef85ff885dd8a1f25bf0823cfd77ec81bfc080

Это uncompressedоткрытый ключ и его адрес1Lj3WeRAmyN98jyiWE6AtnMKfzUzrPUL9z

Но 1a67415e9f892c31cdaec29f6bf7e8e7ffd5a7cdca52fc565ad345313f85b222:0отправляет биткойны на другой адрес:1LCrg6DSqbcK5vh7XRAGEQA4jBpNigjwyV

Вы уверены, что используете несжатый открытый ключ вместо сжатого?

Поэтому я использую bitcoinlib-js для создания транзакций. На самом деле я не устанавливаю открытый ключ, они получают его из моего открытого ключа. Я посмотрю на это, хотя.
Могу я спросить, как вы получили открытый ключ из scriptSig, пожалуйста, я не могу найти способ, как это сделать
Петр, scriptSig для п2пх-выходов имеет очень простую структуру: две операции push. Первый толчок — это подпись+хештип. Второй толчок — pubkey.