Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: jackjack on May 21, 2013, 08:23:23 PM



Title: Can't redeem simple non-standard transaction on testnet
Post by: jackjack on May 21, 2013, 08:23:23 PM
I made a transaction with this output: "2 OP_ADD 3 OP_NUMEQUALVERIFY" (0x5293539d)
But bitcoin-qt throws an error when I try to redeem it with "1" (0x51)
Am I missing something?


Title: Re: Can't redeem simple non-standard transaction on testnet
Post by: Gavin Andresen on May 21, 2013, 08:37:52 PM
Yes, after NUMEQUALVERIFY the stack will be empty, and for a script to be valid it must leave a true value on the stack.

Use NUMEQUAL and it should work.


Title: Re: Can't redeem simple non-standard transaction on testnet
Post by: jackjack on May 21, 2013, 09:00:26 PM
Thanks! I always thought it was other way round


Title: Re: Can't redeem simple non-standard transaction on testnet
Post by: TalkingAntColony on May 21, 2013, 10:04:03 PM
And thus begins solving math problems to redeem Bitcoins :P


Title: Re: Can't redeem simple non-standard transaction on testnet
Post by: crary on May 22, 2013, 05:14:21 PM
You use the XVERIFY instructions if you want to check more than one condition (eg, EQUAL and CHECKSIG) to avoid needing BOOLAND and annoying stack manipulation.  So XVERIFY all but the last condition.