【Bitcoin】bitcoin-cli でよく使うコマンドまとめ(ver 0.16.0)


ブロックチェーンエンジニアのぼくがbitcoin-cliでよく使うコマンドをまとめてみました。

bitcoin-cliとはbitcoindが動作している環境において、RPC

(前提として) Bitcoin Version

アカウント・アドレス情報系

getnewaddress

ビットコインアドレスを発行する。

$ bitcoin-cli getnewaddress "好きなアカウント名"
2Mz7emapNnRwt4PtFPdBUGdv7sdsvMqbatc

getinfo

ブロック数や残高、他のノードの接続数等の総合的な情報を表示する。

$ bitcoin-cli -getinfo
{
  "version": 169900,
  "protocolversion": 70015,
  "walletversion": 159900,
  "balance": 50.00000000,
  "blocks": 101,
  "timeoffset": 0,
  "connections": 0,
  "proxy": "",
  "difficulty": 4.656542373906925e-10,
  "testnet": false,
  "keypoololdest": 1523178221,
  "keypoolsize": 999,
  "paytxfee": 0.00000000,
  "relayfee": 0.00001000,
  "warnings": "This is a pre-release test build - use at your own risk - do not use for mining or merchant applications"
}

getbalance

ノードに存在するアカウントの残高を全てまとめた値を表示する。

$ bitcoin-cli getbalance
50.00000000

listaccounts

アカウントごとの残高を表示する。

$ bitcoin-cli listaccounts
{
  "": 50.00000000,
  "account1": 0.00000000,
  "account2": 0.00000000
}

getaccount

引数のビットコインアドレスを持つアカウント名を表示する。

$ bitcoin-cli getaccount "ビットコインアドレス"
account名

getaccountaddress

指定したアカウントが所有するビットコインアドレスを表示する。

$ bitcoin-cli getaccountaddress "アカウント名"
2N8iBdakZEQ8ddJMwmJV8Gr3LNbRSippBZw

getaddressesbyaccount

指定したアカウントに紐づくビットコインアドレスを全て表示する。

$ bitcoin-cli getaddressesbyaccount "アカウント名"
[
  "2Mz7emapNnRwt4PtFPdBUGdv7sdsvMqbatc",
  "2N8iBdakZEQ8ddJMwmJV8Gr3LNbRSippBZw"
]

トランザクション・ブロック情報系

getblockhash

指定したインデックスで登録されているブロックのハッシュ値を表示する。

$ bitcoin-cli getblockhash "ブロックのインデックス値"
21783a47b7d1357265cf0c4c5d1dc50d29017bc9849a371f4734049a4875be9e

getblock

指定したハッシュ値のブロックの中身を表示する。

$ bitcoin-cli getblock "ブロックのハッシュ値"
{
  "hash": "21783a47b7d1357265cf0c4c5d1dc50d29017bc9849a371f4734049a4875be9e",
  "confirmations": 1,
  "strippedsize": 227,
  "size": 263,
  "weight": 944,
  "height": 101,
  "version": 536870912,
  "versionHex": "20000000",
  "merkleroot": "7afc58ab1d2138e9f92531068f3a769bfbb2d40d9175f5eb4d9ce335beeb4a7c",
  "tx": [
    "7afc58ab1d2138e9f92531068f3a769bfbb2d40d9175f5eb4d9ce335beeb4a7c"
  ],
  "time": 1523178253,
  "mediantime": 1523178252,
  "nonce": 0,
  "bits": "207fffff",
  "difficulty": 4.656542373906925e-10,
  "chainwork": "00000000000000000000000000000000000000000000000000000000000000cc",
  "previousblockhash": "7b13b23a8482ccc5b71b1269a8d88ed1d7642f73cb16bb8694cbd7a3dfc922c1"
}

gettransaction

指定したトランザクションの中身を表示する。

$ bitcoin-cli gettransaction "トランザクションID"
{
  "amount": 0.00000000,
  "confirmations": 1,
  "generated": true,
  "blockhash": "21783a47b7d1357265cf0c4c5d1dc50d29017bc9849a371f4734049a4875be9e",
  "blockindex": 0,
  "blocktime": 1523178253,
  "txid": "7afc58ab1d2138e9f92531068f3a769bfbb2d40d9175f5eb4d9ce335beeb4a7c",
  "walletconflicts": [
  ],
  "time": 1523178235,
  "timereceived": 1523178235,
  "bip125-replaceable": "no",
  "details": [
    {
      "account": "",
      "address": "mjwvyxdRycPht9WaoNAiVWQV1F4J1jFzXK",
      "category": "immature",
      "amount": 50.00000000,
      "vout": 0
    }
  ],
  "hex": "020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401650101ffffffff0200f2052a010000002321023a630166566039db88cfe0a33623ba67140ecbe80b03253a636181f06e0c9cb4ac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000"
}

getrawtransaction

指定したトランザクションのHEX値を表示する。

$ bitcoin-cli getrawtransaction "トランザクションID"
020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401650101ffffffff0200f2052a010000002321023a630166566039db88cfe0a33623ba67140ecbe80b03253a636181f06e0c9cb4ac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000

decoderawtransaction

指定したトランザクションのHEX値から詳細を表示する。

$ bitcoin-cli decoderawtransaction "トランザクションのHEX値"
{
  "txid": "7afc58ab1d2138e9f92531068f3a769bfbb2d40d9175f5eb4d9ce335beeb4a7c",
  "hash": "1410c11943bac40ce7c90c4f16469c7d6a41fe20caab82c72af6b32c0d4bd748",
  "version": 2,
  "size": 182,
  "vsize": 155,
  "locktime": 0,
  "vin": [
    {
      "coinbase": "01650101",
      "sequence": 4294967295
    }
  ],
  "vout": [
    {
      "value": 50.00000000,
      "n": 0,
      "scriptPubKey": {
        "asm": "023a630166566039db88cfe0a33623ba67140ecbe80b03253a636181f06e0c9cb4 OP_CHECKSIG",
        "hex": "21023a630166566039db88cfe0a33623ba67140ecbe80b03253a636181f06e0c9cb4ac",
        "reqSigs": 1,
        "type": "pubkey",
        "addresses": [
          "mjwvyxdRycPht9WaoNAiVWQV1F4J1jFzXK"
        ]
      }
    },
    {
      "value": 0.00000000,
      "n": 1,
      "scriptPubKey": {
        "asm": "OP_RETURN aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf9",
        "hex": "6a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf9",
        "type": "nulldata"
      }
    }
  ]
}

送金系

move

同ノード内でコインを移動する。

$ bitcoin-cli move "送金元アドレス" "送金先アドレス" "送金額"
true

sendfrom

指定したアカウントから指定したアドレスまでコインを送金する。

$ bitcoin-cli sendfrom "送金元アカウント名" "送金先アドレス" "送金額"
7c1b5ae96f71890734792629fc5f1bb708174ac5d04952c45b311f5ab2bef758

sendtoaddress

指定したアカウントから指定したアドレスまでコインを送金する。
※送金元のアカウントを指定することはできない

$ bitcoin-cli sendtoaddress "送金先アドレス" "送金額"
9666d26a2593cb0b026415fb14524ceb21515f2e932e5b25105e4f695407d74d

バックアップ系

dumpprivkey

$ bitcoin-cli dumpprivkey "ビットコインアドレス"
cTvaTRTG3DunxvRHpLPQHfCUDPfwTnJZunSUaPKB6Gez1KfN5pMw

importprivkey

秘密鍵をインポートし、署名できるようにする
※残高の所有権を手にする

$ bitcoin-cli importprivkey "秘密鍵"
# 返り値なし

参考文献