LoginSignup
0
0

More than 5 years have passed since last update.

ビットコインエクスプローラー(ウォレットコマンド:input-sign)

Posted at

ビットコインエクスプローラー(ウォレットコマンド: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
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0