2018年3月7日水曜日

[Blockchain]任意のScriptをP2SHにしてmonaを送ってそれを取り戻す

locking Script(scriptPubKey)



unlocking Script(scriptSig)


こういう任意のScriptをトランザクションに刻んでみたいとおもいます。
testnetだとそのまま実行できるのですが、mainnetだとNon standardということで送信すらさせてもらえません。
そこで

P2SH(Pay-to-Script-Hash)

なわけです。


こんな形式になります。
答えは一般的には

こんな形になるので
こうなります。

Monacoinのトランザクションを送信するプログラムで書いてみます。
トランザクションの組み立てはbitcoin-rubyが使えます。

プログラム


実行結果

成功しました!

send_easy_script_transaction

P2SHで送ったトランザクション voutの0番目にご注目ください。

easy_script_unlock_transaction 

↑のトランザクションのmonaを取り戻したトランザクション(手数料分引かれるのですけどね)
vinにご注目ください。

Transaction 4a5b63b47015c760353c1df3b35fe13d752e09522e77dd21f101c4b466997ac1


手数料の計算適当なので良い子はまねしないでください笑
永遠に取り出せなくなる(だれにもブロックにいれてもらえない)ことになる可能性があります。
UTXOはそもそも額が小さいものが選ばれるようにして、無くなっても後悔しない額でお試しください。








0 件のコメント:

コメントを投稿