比特幣常用命令

本文作者:陳進堅
博客地址:https://jian1098.github.io
CSDN博客:https://blog.csdn.net/c_jian
聯繫方式:[email protected]

關於比特幣節點的搭建請看我之前發佈的文章,包括測試網絡和私有網絡的搭建,這裏列出在命令行下的常用操作命令。

錢包相關命令

查看錢包信息

該命令可以獲取到錢包版本、餘額、交易數量等信息

bitcoin-cli getwalletinfo

獲取所有錢包地址及其賬號名

bitcoin-cli listreceivedbyaddress 1 true

查詢餘額

bitcoin-cli getbalance

注意:查詢得到的餘額是所有錢包地址的可用餘額總和,並且不包含私鑰不在節點的錢包地址餘額。

生成錢包地址

bitcoin-cli getnewaddress "test"  #"test"是輸入的賬號

查詢地址收到幣的數量

bitcoin-cli getreceivedbyaddress 2MtmeZ7W17zJzigtRhzKMP6MSc2DSyL5LYU

查詢默認錢包地址

該命令在0.18版本被廢棄,並且需要在啓動節點時帶上 -deprecatedrpc=accounts

bitcoin-cli getaccountaddress ""

加密錢包

bitcoin-cli encryptwallet mypassword

解鎖錢包

bitcoin-cli walletpassphrase mypassword 30 

30表示解鎖時間,單位秒

鎖定錢包

bitcoin-cli walletlock

備份錢包文件

需要先解鎖,可以將錢包文件wallet.data安全地拷貝到指定文件或目錄

bitcoin-cli backupwallet wallet.back

wallet.back是備份文件名

導入備份文件

需要先解鎖

bitcoin-cli importwallet wallet.back

修改錢包密碼

bitcoin-cli walletpassphrasechange mypassword 123456

mypassword 和 123456分別是舊和新密碼

導出所有錢包地址和私鑰

需要先解鎖,將錢包裏的所有密鑰導出到指定的文件

bitcoin-cli dumpwallet wallet.txt

導入錢包和私鑰

需要先解鎖,將上一步的文件導入

bitcoin-cli importwallet wallet.txt

導出指定錢包地址的私鑰

需要先解鎖,結果爲字符串

bitcoin-cli dumpprivkey mzqrRSB8LXa8EAwzFE5mLyoGWP66H7X26H

導入指定錢包私鑰

將上一步的私鑰導入,但是導入的參數是該錢包的賬號名

bitcoin-cli importprivkey 92dC2MM4dN4ei6qGarVkL48aiUcPjg2uvPdzpFY6QVjBAPQPGWy "test" true

獲取指定錢包地址的賬號名

bitcoin-cli getaccount 2N5UhqzPfTz1rTG3ALkEMsEN6qNvqXcoZJ2

更多命令請參考https://bitcoin-rpc.github.io/en/doc/0.17.99/rpc/wallet/importwallet/ 或中文版http://cw.hubwiz.com/card/c/bitcoin-json-rpc-api/1/7/8/

導入錢包地址及賬號名

參數爲地址或公鑰、賬號名、是否掃描整個區塊鏈(需要時間長),因爲不包含私鑰,所以該地址只能用於監聽而不能用於消費交易

bitcoin-cli importaddress muhtvdmsnbQEPFuEmxcChX58fGvXaaUoVt "watch-only test" false

導入公鑰

參數分別是公鑰、錢包賬號名、是否重新掃描區塊(需要時間),導入公鑰後節點會同時導入對應的錢包地址,但沒有對應的私鑰

bitcoin-cli importpubkey "04aefb3a2b6e0eef583216283b72279cdc1f79a0b99499a0ac9769598278a581ed7734f6b203fcd75fc4836296a4f662dea768671feea454d19b5abdc7a113b081" "transfer test" false

列出所有錢包地址對應的賬號名及餘額

只含本節點生成的錢包地址或導入公鑰或私鑰的錢包地址

bitcoin-cli listaddressgroupings

老版本的bitcoind請使用命令,0.18版本已廢棄

bitcoin-cli listaccounts	

交易相關命令

從默認賬戶給目標地址轉賬

bitcoin-cli sendtoaddress "mxHFNt2RXkshzT3CuXb5Dx215BdeNDQRCu" 10

從指定賬戶轉賬

bitcoin-cli sendfrom "test" "n3BMgZMA26TcHnVa5iNJeB3PMqkF3cEWBE" 0.01  

注意:需要生成區塊才能確認交易併到賬

生成區塊

bitcoin-cli generate 1

注意:實踐證明只有區塊數量超過100的時候纔會產生餘額

獲取交易列表

參數依次爲錢包賬戶名(*表示所有)、要提取的交易數量,默認值:10、要跳過的交易數量,默認值:0、是否包含watch-only地址,默認值:false

bitcoin-cli listtransactions "*" 1 0 true

注意:這個命令只會列出本節點並且私鑰在節點的錢包地址交易列表,並且bitcoin.conf文件必須加上txindex=1

根據交易id查詢交易詳情

bitcoin-cli gettransaction 47b30a7c5b1cd10183e60676fc0f4a059b96c2f10f16a2828aeb6270f4467500

注意:這個命令只能查到本地節點的錢包地址交易,查詢節點外的交易會報Invalid or non-wallet transaction id,而且如果錢包地址的私鑰不在節點的話查詢出來的數據中details字段是空的,也就是無法查詢到該交易的輸入輸出數據。

查詢未花費的交易

bitcoin-cli listunspent

或者指定錢包地址和確認的區塊數量範圍,命令:listunspent [minconf=1] [maxconf=9999999] ["address",...] minconf/maxconf表示該筆收入交易的確認數範圍,如果需要列出還未確認的交易,需將minconf設置爲0。

bitcoin-cli listunspent 0 99999999 '["mi7efAUg86n8LZAFD4hdMTfoKYkj8YYbdA"]'

注意:使用此命令只能得到已經導入公鑰或錢包地址到節點的列表,並且bitcoin.conf文件必須加上txindex=1,如果導入錢包地址前已經有交易,可以在導入公鑰或地址時設置重新掃描區塊爲true

生成未簽名交易

bitcoin-cli createrawtransaction '[{"txid":"7fff82f7b28bc12b349e6e4c7482d563e7af6119ca49126bfc04435ce909abbc","vout":0}]' '{"2MuJfZRJi7S7nqaxHrbTRMSTb6GygDD4SFz":1}'

指定找零地址及增加交易輸入

找零地址changeAddress可以是發起交易的錢包地址本身,交易成功後未花費交易的txid會更新

bitcoin-cli fundrawtransaction 020000000161dc79011198f3e042f68b6e8a1ae16d9cdab96ada6c8b5a9905adb54c6e92430000000000ffffffff0100e1f5050000000017a9141696d866051fb5ff771acc87f47fb1d4c6bb26778700000000 '{"changeAddress": "2MuJfZRJi7S7nqaxHrbTRMSTb6GygDD4SFz","changePosition" : 1,"includeWatching" : true,"lockUnspents" : true}'

注意:使用此命令時,轉出錢包地址必須將公鑰或私鑰導入節點服務器,否則會失敗。

交易簽名

最後的參數是私鑰數組

bitcoin-cli signrawtransactionwithkey 020000000161dc79011198f3e042f68b6e8a1ae16d9cdab96ada6c8b5a9905adb54c6e92430000000000ffffffff0200e1f5050000000017a9141696d866051fb5ff771acc87f47fb1d4c6bb26778728d5a4350000000017a9141696d866051fb5ff771acc87f47fb1d4c6bb26778700000000 '["92oH6gkrUHwmts4jNgv71x87RsYe8hnFKJmGDAzg3FQBisKfTo1"]'

舊版本:

bitcoin-cli signrawtransaction 0200000001c7ca59373068bba271bcaeabc8648e400188706178082007f263b310afc712f90000000000ffffffff0100fcac060000000017a91439119c8025990e01c0cd9fdfaf4d5aab603ffcd78700000000

發送交易

bitcoin-cli sendrawtransaction 020000000161dc79011198f3e042f68b6e8a1ae16d9cdab96ada6c8b5a9905adb54c6e9243000000008a47304402201f60fa7cfc8a03cd2be9da0a4c78b00d9e3663748db173c3b778f7946b871e0c022021836426e0800125fe98d9fc8a44fe79a1b775d7e9ea723ee35f21881fb5d385014104ee9fa9f58e21a6d82565cb11391c4673831ae19319b01637ddd7f14fafbcf776608e63e6f0ba39663fd3060ad73d655e31da919e71c7574293b7b2bad1173885ffffffff02c062002d0000000017a9141696d866051fb5ff771acc87f47fb1d4c6bb26778740539a0e000000001976a914b7e29340f24ac2d7b8ac576fab843248298a65dd88ac00000000

其他命令

命令列表

bitcoin-cli help

參考文章:

http://cw.hubwiz.com/card/c/bitcoin-json-rpc-api/1/7/23/

https://bitcoin-rpc.github.io/en/doc/0.17.99/rpc/blockchain/getblock/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章