2

Looks like transaction decodes fine. But when I use sendrawtransaction I got

Data push larger than necessary

What's wrong with this tx?

bitcoin-cli -testnet decoderawtransaction 020000000149d4a5f520ded6fa94f79cd268f0334baeec9a7732c9d946d1cdee58d81e7aad00000000020101ffffffff01904c96000000000017a914f45d94733d430261962932e0c847075195916a048700000000
{
  "txid": "1bbf569b281f2cd9d948e4273120a9bc3bb2c21e31bc9786682c0a22d8feb76c",
  "hash": "1bbf569b281f2cd9d948e4273120a9bc3bb2c21e31bc9786682c0a22d8feb76c",
  "version": 2,
  "size": 85,
  "vsize": 85,
  "weight": 340,
  "locktime": 0,
  "vin": [
    {
      "txid": "ad7a1ed858eecdd146d9c932779aecae4b33f068d29cf794fad6de20f5a5d449",
      "vout": 0,
      "scriptSig": {
        "asm": "1",
        "hex": "0101"
      },
      "sequence": 4294967295
    }
  ],
  "vout": [
    {
      "value": 0.09850000,
      "n": 0,
      "scriptPubKey": {
        "asm": "OP_HASH160 f45d94733d430261962932e0c847075195916a04 OP_EQUAL",
        "hex": "a914f45d94733d430261962932e0c847075195916a0487",
        "reqSigs": 1,
        "type": "scripthash",
        "addresses": [
          "2NFXJy8mvz7ZiT4VVN29xPGC38hTygd3AyJ"
        ]
      }
    }
  ]
}
2

Your scriptSig uses a data push to push 0x01 onto the stack. It could use OP_1 instead.

  • Thank you! But now I got "Script evaluated without error but finished with a false/empty top stack element)" Is this something wrong with my redeem script or scriptpubkey ? – Andrew Nov 16 '18 at 2:09
2

Your transaction is failing validation with SCRIPT_VERIFY_MINIMALDATA, which is described in BIP 62 rule 3 protections against malleability. CheckMinimalPush() requires a push of 0x01 to be done using OP_1.

This standardness rule avoids the case where someone takes a transaction from the network and a push with a longer encoding of the same push and as a result creates a malleated form of the transaction.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.