Use OP_TRUE as output address

For research and testing purposes, I am trying to create a transaction that uses custom or weird scripts on its outputs, obviously on a testing environment. To not make things too complicated, I just simply want to use OP_TRUE as the script. For this reason, I construct the output as such:

def  create_outputs(params):
vouts = []
val_per_out = 0.005
...
     out = {
          "51": val_per_out, #I use "51" as address because I saw it's the hex representation for OP_TRUE
     }
  vouts.append(out)
...
return vouts

Then, I create the transaction:

vouts = create_outputs(params)
raw_tx = rpc_connection.createrawtransaction(vins, vouts, nLockTime)

However, when execution gets to the last line of code, it throws <JSONRPCException '-5: Invalid Bitcoin address: 51'>. I assume that the issue, obviously, is that just putting 51 as the address is not valid, but I do not know how can I use the custom script then, so any help would be greatly appreciated.



from Recent Questions - Bitcoin Stack Exchange https://ift.tt/QjIZkPr
via IFTTT

Popular posts from this blog

Future of Bitcoin encryption and security in a QC era

Possible rollback due to lazy reveal in BRC20?

A way to recover scammed Bitcoin investment