Bitcoin 比特幣官方客戶端有兩個版本:一個是圖形界面的版本,通常被稱為 Bitcoin(首字母大寫),以及一個簡潔命令行的版本(稱為 bitcoind)。它們相互間是兼容的,有着同樣的命令行參數,讀取相同的配置文件,也讀寫相同的數據文件。您可以在一台電腦中運行 Bitcoin 客戶端或是 bitcoind 客戶端的其中一個(如果您不小心嘗試同時運行另外一個客戶端,它會提示您已經有一個客戶端在運行並且自動退出)。
命令行參數
使用 -? 或 –help 參數運行 Bitcoin 或 bitcoind,它會提示常用的命令行參數並退出。
用法:
bitcoind [選項]
bitcoind [選項] <命令> [參數] 將命令發送到 -server 或 bitcoind
bitcoind [選項] help 列出命令
bitcoind [選項] help <命令> 獲取該命令的幫助
選項:
-conf=<文件名> 指定配置文件(默認:bitcoin.conf)
-pid=<文件名> 指定 pid (進程 ID)文件(默認:bitcoind.pid)
-gen 生成比特幣
-gen=0 不生成比特幣
-min 啟動時最小化
-splash 啟動時顯示啟動屏幕(默認:1)
-datadir=<目錄名> 指定數據目錄
-dbcache= 設置數據庫緩存大小,單位為兆字節(MB)(默認:25)
-dblogsize= 設置數據庫磁盤日志大小,單位為兆字節(MB)(默認:100)
-timeout= 設置連接超時,單位為毫秒
-proxy=<ip:端口> 通過 Socks4 代理鏈接
-dns addnode 允許查詢 DNS 並連接
-port=<端口> 監聽 <端口> 上的連接(默認:8333,測試網絡 testnet:18333)
-maxconnections= 最多維護 個節點連接(默認:125)
-addnode= 添加一個節點以供連接,並嘗試保持與該節點的連接
-connect= 僅連接到這里指定的節點
-irc 使用 IRC(因特網中繼聊天)查找節點(默認:0)
-listen 接受來自外部的連接(默認:1)
-dnsseed 使用 DNS 查找節點(默認:1)
-banscore= 與行為異常節點斷開連接的臨界值(默認:100)
-bantime= 重新允許行為異常節點連接所間隔的秒數(默認:86400)
-maxreceivebuffer= 最大每連接接收緩存,*1000 字節(默認:10000)
-maxsendbuffer= 最大每連接發送緩存,*1000 字節(默認:10000)
-upnp 使用全局即插即用(UPNP)映射監聽端口(默認:0)
-detachdb 分離貨幣塊和地址數據庫。會增加客戶端關閉時間(默認:0)
-paytxfee= 您發送的交易每 KB 字節的手續費
-testnet 使用測試網絡
-debug 輸出額外的調試信息
-logtimestamps 調試信息前添加
時間戳
-printtoconsole 發送跟蹤/調試信息到控制台而不是 debug.log 文件
-printtodebugger 發送跟蹤/調試信息到調試器
-rpcuser=<用戶名> JSON-RPC 連接使用的用戶名
-rpcpassword=<密碼> JSON-RPC 連接使用的密碼
-rpcport= JSON-RPC 連接所監聽的 <端口>(默認:8332)
-rpcallowip= 允許來自指定 地址的 JSON-RPC 連接
-rpcconnect= 發送命令到運行在 地址的節點(默認:127.0.0.1)
-blocknotify=<命令> 當最好的貨幣塊改變時執行命令(命令中的 %s 會被替換為貨幣塊哈希值)
-upgradewallet 將錢包升級到最新的格式
-keypool= 將密匙池的尺寸設置為 (默認:100)
-rescan 重新掃描貨幣塊鏈以查找錢包丟失的交易
-checkblocks= 啟動時檢查多少貨幣塊(默認:2500,0 表示全部)
-checklevel= 貨幣塊驗證的級別(0-6,默認:1)
SSL 選項:
-rpcssl 使用 OpenSSL(https)JSON-RPC 連接
-rpcsslcertificatechainfile=<文件.cert> 服務器證書文件(默認:server.cert)
-rpcsslprivatekeyfile=<文件.pem> 服務器私匙文件(默認:server.pem)
-rpcsslciphers=<密碼> 可接受的密碼(默認:TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)
bitcoin.conf 配置文件
除了 -datadir 和 -conf 以外的所有命令行參數都可以通過一個配置文件來設置,而所有配置文件中的選項也都可以在命令行中設置。命令行參數設置的值會覆蓋配置文件中的設置。
配置文件是“設置=值”格式的一個列表,每行一個。您還可以使用 # 符號來編寫注釋。
配置文件不會自動創建;您可以使用您喜愛的純文本編輯器來創建它。默認情況下,Bitcoin(或 bitcoind)會在比特幣數據文件夾下查找一個名為“bitcoin.conf”的文件,但是數據文件夾和配置文件的路徑都可以分別通過 -datadir 和 -conf 命令行參數分別指定。
操作系統
默認數據文件夾
配置文件路徑
Windows
%APPDATA%\Bitcoin\
(XP) C:\Documents and Settings\username\Application Data\Bitcoin\bitcoin.conf
(Vista, 7) C:\Users\username\AppData\Roaming\Bitcoin\bitcoin.conf
Linux
$HOME/.bitcoin/
/home/username/.bitcoin/bitcoin.conf
Mac OSX
$HOME/Library/Application Support/Bitcoin/
/Users/username/Library/Application Support/Bitcoin/bitcoin.conf
注意:如果 Bitcoin 比特幣客戶端測試網模式運行,在數據文件夾下客戶端會自動創建名為“testnet”的子文件夾。
bitcoin.conf 示例
# bitcoin.conf 配置文件。以 # 開頭的行是注釋。
# 網絡相關的設置:
# 在測試網絡中運行,而不是在真正的比特幣網絡
#testnet=0
# 通過一個 Socks4 代理服務器連接
#proxy=127.0.0.1:9050
##############################################################
## addnode 與 connect 的區別 ##
## ##
## 假設您使用了 addnode=4.2.2.4 參數,那么 addnode 便會與 ##
## 您的節點連接,並且告知您的節點所有與它相連接的其它節點。 ##
## 另外它還會將您的節點信息告知與其相連接的其它節點,這樣它 ##
## 們也可以連接到您的節點。 ##
## ##
## connect 在您的節點“連接”到它的時候並不會做上述工作。僅 ##
## 它會與您連接,而其它節點不會。 ##
## ##
## 因此如果您位於防火牆后,或者因為其它原因無法找到節點,則 ##
## 使用“addnode”添加一些節點。 ##
## ##
## 如果您想保證隱私,使用“connect”連接到那些您可以“信任” ##
## 的節點。 ##
## ##
## 如果您在一個局域網內運行了多個節點,您不需要讓它們建立許多 ##
## 連接。您只需要使用“connect”讓它們統一連接到一個已端口轉 ##
## 發並擁有多個連接的節點。 ##
##############################################################
# 您可以在下面使用多個 addnode= 設置來連接到指定的節點
#addnode=69.164.218.197
#addnode=10.0.0.2:8333
# ... 或使用多個 connect= 設置來僅連接到指定的節點
#connect=69.164.218.197
#connect=10.0.0.1:8333
# 不使用因特網中繼聊天(IRC)(irc.lfnet.org #bitcoin 頻道)
# 來查找其它節點
#noirc=0
# 入站+出站的最大連接數
#maxconnections=
# JSON-RPC 選項(用於控制運行中的 Bitcoin/bitcoind 進程):
# server=1 告知 Bitcoin-QT 接受 JSON-RPC 命令
#server=0
# 您必須設置 rpcuser 和 rpcpassword 以確保 JSON-RPC 的安全
#rpcuser=Ulysseys
#rpcpassword=YourSuperGreatPasswordNumber_DO_NOT_USE_THIS_OR_YOU_WILL_GET_ROBBED_385593
# 客戶端在 HTTP 連接建立后,等待多少秒以完成一個 RPC HTTP 請求
#rpctimeout=30
# 默認僅允許來自本機的 RPC 連接。在這里您可以指定多個
# rpcallowip=,來設置您想允許連接的其它主機 IP 地址。
# 您可以使用 * 作為通配符。
#rpcallowip=10.1.1.34
#rpcallowip=192.168.1.*
# 在如下端口監聽 RPC 連接
#rpcport=8332
# 您可以通過如下設置使用 Bitcoin 或 bitcoind 來發送命令到一個在
# 其它主機遠程運行的 Bitcoin/bitcoind 客戶端
#rpcconnect=127.0.0.1
# 使用安全套接層(也稱為 TLS 或 HTTPS)來
# 連接到 Bitcoin -server 或 bitcoind
#rpcssl=1
# 當 rpcssl=1 時使用的 OpenSSL 設置
#rpcsslciphers=TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH
#rpcsslcertificatechainfile=server.cert
#rpcsslprivatekeyfile=server.pem
# 其它選項:
# 設置 gen=1 以嘗試生成比特幣(采礦)
#gen=0
# 預生成如下數目的公匙和私匙,這樣錢包備份便可以對已有的交易以及未來
# 多筆交易有效
#keypool=100
# 每次您發送比特幣的時候支付一個可選的額外的交易手續費。包含手續費的交易
# 會更快的被包含在新生成的貨幣塊中,因此會更快生效
#paytxfee=0.00
# 允許直接連接,實現“通過 IP 地址支付”功能
#allowreceivebyip=1
# 用戶界面選項:
# 最小化啟動比特幣客戶端
#min=1
# 最小化到系統托盤
#minimizetotray=1