《精通比特幣》筆記~比特幣客戶端

用一個安全密碼給JSON-RPC接口創(chuàng)建一個配置文件

rpcuser=bitcoinrpc
rpcpassword=2XA4DuKNCbtZXsBQRRNDEwEY2nM6M4H9Tx5dFjoAVVbK
寫入~/.bitcoin/bitcoin.conf

后臺模式運(yùn)行 bitcoind

bitcoind -daemon

通過命令行使用比特幣核心的JSON-RPC API接口

bitcoin-cli help

獲得比特幣核心客戶端狀態(tài)的信息

bitcoin-cli getinfo
WARNING: getinfo is deprecated and will be fully removed in 0.16.
Projects should transition to using getblockchaininfo, getnetworkinfo, and getwalletinfo before upgrading to 0.16

錢包設(shè)置及加密

加密錢包
bitcoin-cli encryptwallet foo
解鎖錢包
bitcoin-cli walletpassphrase foo 360

錢包備份、純文本導(dǎo)出及恢復(fù)

創(chuàng)建錢包的備份文件
bitcoin-cli backupwallet wallet.backup
重新加載備份文件
bitcoin-cli importwallet wallet.backup
將錢包轉(zhuǎn)儲為人類可讀的文本文件
bitcoin-cli dumpwallet wallet.txt

錢包地址及接收交易

獲得其中的一個地址
bitcoin-cli getnewaddress
13Bqx1N77WKSC6ZkFxTmamLNSJDRRL9H51
詢問此地址已經(jīng)接收到的比特幣數(shù)額
bitcoin-cli getreceivedbyaddress 13Bqx1N77WKSC6ZkFxTmamLNSJDRRL9H51 0
整個錢包接收到的交易
bitcoin-cli listtransactions
列出整個錢包的所有地址
bitcoin-cli getaddressesbyaccount ""
所有經(jīng)過至少minconf個確認(rèn)的交易加和后的余額
bitcoin-cli getbalance

探索及解碼交易

通過交易哈希值獲取一筆交易
bitcoin-cli gettransaction 9ca8f969bd3ef5ec2a8685660fdbf7a8bd365524c2e1fc66c309acbae2c14ae3
得到整個交易代碼并且將之解碼
bitcoin-cli getrawtransaction 9ca8f969bd3ef5ec2a8685660fdbf7a8bd365524c2e1fc66c309acbae2c14ae3
解碼十六進(jìn)制字符串
bitcoin-cli decoderawtransaction 0100000001d717...388ac00000000
比特幣核心默認(rèn)建立包含僅與用戶錢包相關(guān)交易的數(shù)據(jù)庫。
若你想使用類似gettransaction的命令訪問所有交易,你需要配置比特幣核心去建立一個完整的交易索引,這個可以通過txindex選項實現(xiàn)。
在比特幣核心配置文件中將txindex賦值為1(通常在安裝目錄的.bitcoin/bitcoin.conf中可以找到)。
一旦你改變了此參數(shù),你需要重啟bitcoind,并等待其重建索引。

探索區(qū)塊

查詢區(qū)塊
bitcoin-cli getblock 000000000000000051d2e759c63a26e247f185ecb7926ed7a6624bc31c2a717b true
通過區(qū)塊高度來檢索一個區(qū)塊/獲得“創(chuàng)世區(qū)塊”的區(qū)塊哈希值
bitcoin-cli getblockhash 0
000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
區(qū)塊信息
bitcoin-cli getblock 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

基于UTXO(未花費(fèi)的交易輸出)的建立、簽名與提交

查看錢包中所有剩余的從之前交易中已確認(rèn)的支出
bitcoin-cli listunspent
未花費(fèi)的輸出的詳細(xì)細(xì)節(jié)
bitcoin-cli gettxout 9ca8f969bd3ef5ec2a8685660fdbf7a8bd365524c2e1fc66c309acbae2c14ae3 0
為交易建立一個新的地址
bitcoin-cli getnewaddress 1LnfTndy3qzXGN19Jwscj1T8LR3MVe3JDb
建立一筆交易
bitcoin-cli createrawtransaction '[{"txid" : "9ca8f969bd3ef5ec2a8685660fdbf7a8bd365524c2e1fc66c309acbae2c14ae3", "vout" : 0}]' '{"1LnfTndy3qzXGN19Jwscj1T8LR3MVe3JDb": 0.025, "1hvzSofGwT8cjb8JU7nBsCSfEVQX5u9CL": 0.0245}'
簽名交易
一個加密的錢包在簽名之前必須解密,因為簽名需要利用錢包中的秘鑰
bitcoin-cli walletpassphrase foo 360
bitcoin-cli signrawtransaction 0100000001e34ac1e2baac09c366fce1c2245536bda8...518fa2e
提交新交易到比特幣網(wǎng)絡(luò)
bitcoin-cli sendrawtransaction 0100000001e34ac1e2baac09c366fce1c2245536bda8...c17b346
當(dāng)使用sendrawtransaction命令發(fā)布交易到比特幣網(wǎng)絡(luò)時,它會返回交易的哈希值

原文鏈接

第3章 比特幣客戶端 | 精通比特幣
http://zhibimo.com/read/wang-miao/mastering-bitcoin/Chapter03.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容