PSBT
version 2 の draft あり
code:terminal
echo "HEX_PSBT" | xxd -r -p | base64 -w0 | bitcoin-cli -regtest -stdin analyzepsbt
別々に署名された PSBT をマージすることはできないのか?
Combiner がその役割を果たす?
関係あるかも?
UnexpectedUnsignedTx エラーで PSBT 同士をマージできない
さきに sign してしまっているのが間違っている気がする
いま想像する PSBT の作り方
Creator -> PSBT を作る
Global は unsigned tx が必須
unsigned tx は PSBT から最終的に導出される Fully signed tx を構成することになる要素をすべてもっている必要がある。
ただし、signature や input はわからないので空になるよね?(tx の構造を復習しないと...)
PSBT 同士をマージする場合は、この Global が同じでないといけない
A Combiner must not combine two different PSBTs. PSBTs can be uniquely identified by 0x00 global transaction typed key-value pair
Updator
PSBT の input に対して?与えられる情報があれば追加する
Updator が使いやすいメソッドが存在しない
psbt に簡単に output を追加できなさそう
複数 output も creator が用意する必要があるが、creator の wallet で作成すると insufficient fund になってしまうことあるよね
updator が簡単に扱えるメソッドがやはりほしい
この PR で変わりそう
https://www.youtube.com/watch?v=H6xZSRDXUiU