5

Does createrawtransaction always use the following script?

scriptPubKey: OP_DUP OP_HASH160 <pubKeyHash> OP_EQUALVERIFY OP_CHECKSIG
scriptSig: <sig> <pubKey>

If so, how do you create a transaction that uses a custom scriptPubKey value? If not, what is the syntax for writing the JSON that enables custom scriptPubKey values for the transaction using createrawtransaction?

1

Yes that is correct.

What you can do is:

  • listunspent
  • createrawtransaction with receiver:amount and your change:amount
    • (make the amount differ to pay the fee)

Take the raw hex transaction and use it with http://brainwallet.org/#tx to be able to edit in JSON format. Don't worry, when your done you can sign the raw transaction in your local client.

About scriptPubKey, that is a little harder, and you should only experiment with this on testnet. You can try to understand this transaction https://en.bitcoin.it/wiki/Script#Transaction_puzzle and also try to understand how the stack works by playing around with jsforth

  • I have a good idea of how the stack works, and I don't want to use an external site to create my transactions. I'm assuming brainwallet is open source and I can view how they modify the scriptPubKey there? There is no way to simply write {address:amount,scriptPubKey:stuffhere} in the second field of createrawtransaction? – bvpx Oct 21 '13 at 17:51
  • Also, what does "Yes, that's correct" refer to? – bvpx Oct 21 '13 at 17:54
  • about createrawtransaction, yes that's correct, it only uses the basic script. about trusting an external site... you dont, its only for convenience... you should always check with decoderawtransaction that it will do what you really want – Jonas Oestman Oct 21 '13 at 18:02
  • It's not about trust, I want to learn how to do it myself, I guess at this point the best way is to read the sourcecode of brainwallet and understand how they are doing it. Unless there is documentation somewhere outlining the process. – bvpx Oct 21 '13 at 18:47
  • brainwallet is only one implementation of how to make a raw transaction, here you can learn about the raw hex and what every bit means en.bitcoin.it/wiki/Protocol_specification#tx – Jonas Oestman Oct 21 '13 at 20:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.