ビットコインエクスプローラー(ウォレットコマンド:input-sign)
原文(https://github.com/libbitcoin/libbitcoin-explorer/wiki/)
bx input sign
トランザクションインプットの承認を作成する。
bx input-sign --help
Usage: bx input-sign [-ah] [--config VALUE] [--index VALUE] [--sign_type
VALUE] EC_PRIVATE_KEY CONTRACT [TRANSACTION]
情報:トランザクションインプットの承認を作成する。
オプション (named):
-a [--anyone] 署名ハッシュを修正し、他のインプットを無視される。
-c [--config] コンフィギュレーションファイルを指定
-h [--help] コマンドの説明を表示
-i [--index] トランザクション内のinputの順番を指定。デフォルトは0
-s [--sign_type] トークンは、トランザクションが署名のために、どうハッシュ化されるかを示す。
オプションは、'all'、'none'、'single'、デフォルトは、'all'。
引数 (positional):
EC_PRIVATE_KEY 署名するBASE16楕円曲線秘密鍵
CONTRACT サインに使う前回のアウトプットスクリプト
複数のトークンが引用される。
TRANSACTION BASE16トランザクションを指定。指定がなければ、STDINを読み込む。
このコマンドは、トランザクションの承認を生成ますが、トランザクションに適用しません。
承認は、現在のトランザクションに明記された値の転送を許可するinput(前回トランザクションのoutput)のデジタル署名となる。
Example 1
one input, one output, standard prevout script, --sign_type all
一つのインプット、一つのアウトプット、標準的なスクリプトで、--sign_type allを指定。
下記のようにinputとouputで始める。
--input 7c3e880e7c93a7b01506188c36a239f70b561dfa622d0aa0d8f3b7403c94017d:0
--output 1966U1pjj15tLxPXZ19U48c99EJDkdXeqb:45000
前回のトランザクションのアウトプットスクリプトを見てみる。
bx fetch-tx 7c3e880e7c93a7b01506188c36a239f70b561dfa622d0aa0d8f3b7403c94017d
transaction
{
hash 7c3e880e7c93a7b01506188c36a239f70b561dfa622d0aa0d8f3b7403c94017d
inputs
{
input
{
address 1PqLFcRyNMzsgcmT4Sd2XSVZ4XPb8CN8sj
previous_output
{
hash df51c69f381a7511e95571382715cfd83c5384e9006ee7c546cfa6bb4b172346
index 0
}
script "[304502206be979f1f89776e26abb40f458dc942d191d447cf3ce847d2d7e430df6b21ac4022100cade875670d71bd972f151b00544044d90a75261a9a01542968a1b36b31aea1801] [041fd7ca20852f638e82ac43b2df2ac7b38a3fec1622fb33c9f679ae909868a7e6e013429b2421a871a4e1d5d5702bea978bdd8ec399657dc6f3c0334a83de40bf]"
sequence 4294967295
}
}
lock_time 0
outputs
{
output
{
address 1JziqzXeBPyHPeAHrG4DCDW4ASXeGGF6p6
script "dup hash160 [c564c740c6900b93afc9f1bdaef0a9d466adf6ee] equalverify checksig"
value 100000
}
output
{
address 18kn866ztW2Y12DkijCubQmE6xBqmJS4Gr
script "dup hash160 [55106ed6c650e125c28f767c83ccfbc0c231fc8a] equalverify checksig"
value 328860000
}
}
version 1
}
The previous output script is at transaction.outputs[0].script.
前回のアウトプットスクリプトは、transaction.outputs[0].script
に当たる。
前回のアウトプットの1JziqzXe...
のための秘密鍵が署名のために必要となる。
下記の秘密鍵は、デモのために提供される。
4ce3eb6bd06c224e3c355352a488720efc5ac9fe527a219ad35178c3cf762350
inputとoutputをつかって、新しいトランザクションを作る。
bx tx-encode -i 7c3e880e7c93a7b01506188c36a239f70b561dfa622d0aa0d8f3b7403c94017d:0 -o 1966U1pjj15tLxPXZ19U48c99EJDkdXeqb:45000
01000000017d01943c40b7f3d8a00a2d62fa1d560bf739a2368c180615b0a7937c0e883e7c0000000000ffffffff01c8af0000000000001976a91458b7a60f11a904feef35a639b6048de8dd4d9f1c88ac00000000
トランザクションの承認を、ノンス、秘密鍵、前回のトランザクションアウトプットをつかっておこなう。
bx input-sign -n 707e3d717925ba2e98234dd6f3a38eb5 4ce3eb6bd06c224e3c355352a488720efc5ac9fe527a219ad35178c3cf762350 "dup hash160 [c564c740c6900b93afc9f1bdaef0a9d466adf6ee] equalverify checksig" 01000000017d01943c40b7f3d8a00a2d62fa1d560bf739a2368c180615b0a7937c0e883e7c0000000000ffffffff01c8af0000000000001976a91458b7a60f11a904feef35a639b6048de8dd4d9f1c88ac00000000
30450221008f66d188c664a8088893ea4ddd9689024ea5593877753ecc1e9051ed58c15168022037109f0d06e6068b7447966f751de8474641ad2b15ec37f4a9d159b02af6817401