TransactionBuilderを使ってみる

あなたにとって初めての P2SHマルチシグ のトランザクションに署名するときに TranasctionBuilder をどのように動かすか見てきた。

次はより複雑なトランザクションに対して署名するために、そのフルパワーをどのように活かすかを見てみよう。

TranactionBuilder を用いると以下ができるようになる。

  • 以下の支払いができる

    • P2PKP2PKH

    • マルチシグ

    • P2WPKP2WSH

  • 前章のようにredeem scriptにもとづいて、P2SH を支払いに使える

  • ステルスコイン を使える(ダークウォレット)

  • カラードコイン を発行し、移動できる(次の章で説明するオープンアセットのこと)

  • 部分的に署名されたトランザクション を結合できる

  • 署名されていないトランザクション の最終的な サイズ とそれにかかる 手数料 を計算できる

  • トランザクション十分に署名されたか を確認できる

TransactionBuilder のゴールはインプットとしての コイン を取得し、十分に または 部分的に署名されたトランザクション を生成することである。

TransactionBuilder だけで、どの コイン を使い、なにを署名すべきかを把握してくれる。

TransactionBuilderを使うためには4つのステップがある。

  • 使う コイン を集める

  • 持っている を集める

  • どの scriptPubKey に対していくら コインを 支払いたいかを数える

  • トランザクション を生成して署名する

  • オプション:誰かに トランザクション を送り、署名してもらうか生成を続けてもらう

さあ コイン を集めてみよう。まずそのコインを充足させるために見せかけの トランザクション を作ろう。 ここでは、その トランザクション には P2PKHP2PK と、ボブとアリスの マルチシグに コインがあることにしよう。

さらにここではサトシに支払うためにこのトランザクションのcoinsを使いたいということにしよう。

まずは コイン を集めなければならない。

ではbobは0.2BTC、aliceは0.3BTCを送り、さらに2人が0.5BTCを送るためにbobAliceを使うことに合意したとしよう。

そしてトランザクションが十分に署名され、ネットワークに送る準備ができているかを確かめることができる。

このモデルで素晴らしいのは、ScriptCoin を作る必要があることを除いて、P2SH、P2WSH、P2SH(P2WSH)とP2SH(P2PKH) に対して同じ方法で動かすことができるのだ。

署名はこのようにする。

ステルスコイン でも、基本的には同じだ。ただ、ダークウォレットについての紹介をもし覚えていたら、ステルスコイン を見るためには ScanKey が必要となると言ったが、それが異なる点となる。

以前の章と同じように、アリスとボブのマルチシグのステルスアドレスを作ってみよう。

誰かがこのトランザクションにコインを送ったとしよう。

scanKeyを持っている人がこのステルスコインを発見できる。

それはボブとアリスに送られており、彼らが署名する。

注釈:ステルスコインを使うためにはscanKeyが必要だ。

Last updated