Hi,
I have a development question to ask; I hope this is the appropriate board.
First, some background info. I started writing some c# code this weekend to work with Bitcoin. I want to increase my understanding, and I'd like to eventually become involved in the Bitcoin development community. I only started learning about Bitcoin in April, and I've never dealt with cyrpto directly before. All of my code is very bare bones as it's just to get me up and running (for example, I'm just pulling my blocks down as json from blockexplorer.com).
My actual question is around an issue I'm having with my implementation of OP_CHECKSIG. I finally managed to get it working on transactions after a lot of banging around trying to figure things out. This allowed me to run the transaction scripts all the way up to block 2812, where I fail on transaction 2 input 0 of that block. This is also the first transaction where scriptPubKey isn't just 0x04<x><y> OP_CHECKSIG, as it's also doing OP_HASH160.
So, having said all that, I'm hoping that someone could check the data that I'm getting for OP_CHECKSIG that I've included below. I'm hoping that it's a simple matter to set a breakpoint and steal these values to compare to mine.
I'd like to know whether I'm at least feeding in the correct values. The info below is from my logging, I can provide more detail/code if needed.
Thanks!
Paul
2013-05-28 16:52:52.709 TRACE Executing OP_CHECKSIG with stack count: 2
2013-05-28 16:52:52.799 TRACE OP_CHECKSIG executed in 90 ms:
tx: 0100000001944badc33f9a723eb1c85dde24374e6dee9259ef4cfa6a10b2fd05b6e55be40000000 0008c4930460221009f8aef83489d5c3524b68ddf77e8af8ceb5cba89790d31d2d2db0c80b9cbfd 26022100bb2c13e15bb356a4accdd55288e8b2fd39e204a93d849ccf749eaef9d8162787014104f 9804cfb86fb17441a6562b07c4ee8f012bdb2da5be022032e4b87100350ccc7c0f4d47078b06c9d 22b0ec10bdce4c590e0d01aed618987a6caa8c94d74ee6dcffffffff0100f2052a010000001976a 9146934efcef36903b5b45ebd1e5f862d1b63a99fa588ac00000000
inputIndex: 0
pubKey: 04f9804cfb86fb17441a6562b07c4ee8f012bdb2da5be022032e4b87100350ccc7c0f4d47078b06 c9d22b0ec10bdce4c590e0d01aed618987a6caa8c94d74ee6dc
sig: 30460221009f8aef83489d5c3524b68ddf77e8af8ceb5cba89790d31d2d2db0c80b9cbfd2602210 0bb2c13e15bb356a4accdd55288e8b2fd39e204a93d849ccf749eaef9d816278701
hashType: 1
txSignature: 0100000001944badc33f9a723eb1c85dde24374e6dee9259ef4cfa6a10b2fd05b6e55be40000000 0005b4104f9804cfb86fb17441a6562b07c4ee8f012bdb2da5be022032e4b87100350ccc7c0f4d4 7078b06c9d22b0ec10bdce4c590e0d01aed618987a6caa8c94d74ee6dc76a9146934efcef36903b 5b45ebd1e5f862d1b63a99fa588acffffffff0100f2052a010000001976a9146934efcef36903b5 b45ebd1e5f862d1b63a99fa588ac0000000001000000
txSignatureHash: aa8cefd55abf2034530d9c7eb886286aa090a64a54fee400d840ad9255ce61ac
x: f9804cfb86fb17441a6562b07c4ee8f012bdb2da5be022032e4b87100350ccc7
y: c0f4d47078b06c9d22b0ec10bdce4c590e0d01aed618987a6caa8c94d74ee6dc
r: 9f8aef83489d5c3524b68ddf77e8af8ceb5cba89790d31d2d2db0c80b9cbfd26
s: bb2c13e15bb356a4accdd55288e8b2fd39e204a93d849ccf749eaef9d8162787
result: False