How to spend nonstandard transaction output

How to spend nonstandard transaction output

I play around with transactions and testnet and created (not broadcasted yet) transaction with the following scriptPubKey:
"256 OP_CHECKSEQUENCEVERIFY OP_DROP OP_DUP OP_HASH160 <pkh> OP_EQUALVERIFY OP_CHECKSIG".

Now I'd like to sign a spend. Is there any standard approach or has it not been implemented in bitcoin core? The tool bitcoin-tx seems to be able to sign transactions, although I'm not sure if this is what it was designed for, namely
bitcoin-tx -testnet -create in='<txid>:<vout>:256' outaddr=<val>:<addr> set=prevtxs:'[{..."scriptPubKey":<script-to-spend>...}]' set=privatekeys:'[<privKey>]' sign=ALL

This command ends with no error, but produces not-signed transaction. The program seems not to validate syntax of the script, since if I set as prevtxs["scriptPubKey"] some invalid script, it doesn't throw any error (e.g. swap OP_CHECKSIG (0xac) with OP_CHECKMULTISIG (0xae). I don't know actually why do I need to supply this info.

So I have 2 questions:

  1. Is my initial output script even correct? If not, what is the right way of using CHECKSEQUENCEVERIFY?
  2. How should I spend similar this kind of non-standard outputs? (except hard-coding that spend using bitcoin libraries.)

This behaviour has been observed on Bitcoin Core version v0.16.0

https://ift.tt/2H29m9O

Comments

Popular posts from this blog

bitcoin node: what is the difference between simnet and regtest?

How to check if Electrum is masking my IP with the Tor proxy?

Need help to recover blpckchain.info wallet, my wife forgot her password and the brute force with btcrecover is not catching the password