ブロックチェーンエンジニアのぼくが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 "秘密鍵"
# 返り値なし