Why the PUSHDATA is 65 in the first transaction in blk00000.dat?

0

https://www.blockchain.com/btc/tx/4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b?show_adv=true

The raw script is in the first transaction is: 4104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac

0x41 -> 65 (PUSHDATA) # Why ?????
0xac -> 175 (OP_CHECKSIG)

The list of OP can be found here https://github.com/bitcoin/bitcoin/blob/bffb35f876572737b175aa3620bbf3e62c20f444/test/functional/test_framework/script.py

There is no 0x41 OP at all~~~~

Carpemer

Posted 2018-08-27T12:30:46.740

Reputation: 117

Answers

1

Opcodes between OP_0 (0x00) and OP_PUSHDATA1 (0x4c, 76) (exclusive range) are push opcodes.

To push data smaller than 76 bytes, data's length, which is an opcode within that range should be used.

For example, to push 0x01020304, which has four bytes, 0x04 should be used: 0x0401020304.

To push 0x12, which has one byte, prepend with 0x01: 0x0112

MCCCS

Posted 2018-08-27T12:30:46.740

Reputation: 5 827

Sorry for the confusion, I know 0x41 is 65 , the question is 0x41 not in the current OP list.Carpemer 2018-08-27T13:21:32.620

@Capemer I hope the edit understands your question precisely.MCCCS 2018-08-27T14:33:07.720

Thanks!Just clarify with you, the last example is 0x0112?Carpemer 2018-08-28T00:01:03.223

Yup, sorry.....MCCCS 2018-08-28T05:59:30.873