I'm working on my bitcoin parser and I'm running across some cases where I cannot decode the public key in an output script.
Here is an example:
See the coinbase transaction in block #199,975
https://blockchain.info/tx/870f2daaf1e6bf44fd23c98b152f5f5b45beeb7066eb135840809cb528579e87You will note that the output address that blockchain.info shows is:
1DgaASdtGgUavpNUE8ESBq3gmPbHh2ALnC
The hex address for this is:
0x00, 0x8b, 0x1d, 0x6a, 0x31, 0xb0, 0x19, 0xe2, 0xda, 0x16, 0xde, 0x77, 0xf6, 0x0c, 0x62, 0x3b, 0x14, 0x42, 0xd5, 0xec, 0x2e, 0x24, 0x3a, 0x00, 0x61
Normally I find the public key in the output script, but in this case I cannot figure out how/where blockchain.info came up with "1DgaASdtGgUavpNUE8ESBq3gmPbHh2ALnC" for the output script containing:
ChallengeScriptLength: 35 bytes long
21 - Push 0x21 bytes on the stack
02 14 71 c3 e2 c3 3f 1a 52 55 a5 14 cb f9 db d3 22 f8 2b 95 78 34 e5 90 ab 99 ff 00 26 30 eb b7 ee
ac OP_CHECKSIG
Any help/advice on what I'm missing to extract the public key from this output script would be most appreciated.
How does this stream of 33 (02 14 71 c3 e2 c3 3f 1a 52 55 a5 14 cb f9 db d3 22 f8 2b 95 78 34 e5 90 ab 99 ff 00 26 30 eb b7 ee)bytes turn into this public key '1DgaASdtGgUavpNUE8ESBq3gmPbHh2ALnC'?
Thanks,
John