首先讓我們獲取源碼
go get github.com/btcsuite/btcd
然後就可以進入你的gopath中看到它了
進入目錄,並go build,編譯btcd並啓動網絡
./btcd -h 查看幫助說明
Usage:
btcd [OPTIONS]
Application Options:
-V, --version 打印版本號
-C, --configfile= 指定配置文件
-b, --datadir= 指定區塊數據存儲目錄
--logdir= 指定日誌輸出目錄
-a, --addpeer= 啓動時,指定一個節點並連接
--connect= 啓動時,只連接指定的節點。
--nolisten 禁止進入的連接,注意: 如果使用了--connect 或 --proxy選項,監聽會自動停止,即便使用了--listen選項也會停止監聽。
--listen= 添加監聽端口(默認是8333, 測試網絡是:18333)
--maxpeers= 最大的進出連接數(默認125)
--nobanning 禁止屏蔽惡意節點功能
--banduration= 屏蔽惡意節點時長. 有效時間單位 {s, m, h}. 最小1秒 (默認:24h0m0s)
--banthreshold= 觸發斷開連接,屏蔽惡意節點的最大ban值(100)
--whitelist= 免屏蔽白名單(eg. 192.168.1.0/24 or ::1)
-u, --rpcuser= 登錄RPC服務器管理員用戶名
-P, --rpcpass= 登錄RPC服務器管理員密碼
--rpclimituser= 登錄RPC服務器普通用戶名
--rpclimitpass= 登錄RPC服務器普通用戶密碼
--rpclisten= 設置rpc服務器監聽端口 (默認主網: 8334, 測試網: 18334)
--rpccert= rpc證書
--rpckey= rpc證書密鑰
--rpcmaxclients= rpc服務器最大客服端連接個數 (10)
--rpcmaxwebsockets= rpc服務器最大websocket連接個數 (25)
--rpcmaxconcurrentreqs= 最大rpc併發請求個數 (20)
--rpcquirks 開啓JSON-RPC quirk。注意: 不鼓勵使用,除非爲了解決一些互操作問題時,纔開啓。主要是兼容JSON-RPC 1.0 跟 JSON-RPC 2.0 中 ,對notification id爲null處理。
--norpc 關閉內置RPC服務器。 注意:如果沒有指定rpcuser/rpcpass或rpclimiteduser/rpclimitedpass時,RPC服務器是不會開啓。
--notls RPC服務器停止使用TLS。注意:這個控制選項只有在RPC服務器綁定到本機纔有效。
--nodnsseed 不使用DNS獲取其他節點信息。
--externalip= 添加外部監聽ip地址。如果運行btcd的主機在NAT後,那麼這個地址就是外網的地址。
--proxy= SOCKS5代理服務器地址 (eg. 127.0.0.1:9050)
--proxyuser= 登錄SOCKS5代理服務器的用戶名
--proxypass= 登錄SOCKS5代理服務器用戶的密碼
--onion= 用於連接到onion暗網服務的SOCKS5服務器地址 (eg. 127.0.0.1:9050)
--onionuser= 登錄oion SOCKS5服務器的用戶名
--onionpass= 登錄oion SOCKS5服務器的用戶的密碼
--noonion 關閉連接onion服務。
--torisolation 爲每個連接使用隨機密碼來隔離Tor流。
--testnet 使用測試網絡
--regtest 使用迴歸測試網絡
--simnet 使用模擬測試網絡
--addcheckpoint= 添加檢查點: '<塊高度>:<塊哈希>',用在優化下載舊區塊,避免從舊區塊分叉
--nocheckpoints 關閉內置的檢查點。不要關閉除非你自己清楚這樣做的目的。
--dbtype= 存儲區塊鏈所用的數據庫類型 (默認:ffldb)
--profile= 指定開啓HTTP服務器性能檢測的端口。 注意端口必須在1024 ~ 65536區間。
--cpuprofile= 指定服務器CPU性能檢測輸出文件
-d, --debuglevel= 爲所用子系統指定log等級{trace, debug, info, warn, error, critical} ,你也可以通過<子系統>=<等級>, <子系統>=<等級>,... 來爲單個子系統設置log等級。 使用 show 來列出可用的子系統。(btcd -d show )
--upnp 使用UPnP來發現路由設備實現NAT
--minrelaytxfee= 最少交易費用按來算BTC/kB (默認: 1e-05)
--limitfreerelay= 免交易費的交易個數,每分鐘多少k字節算(默認:15kb/分鐘)
--norelaypriority 對無手續費,低手續費交易進行中轉時,不要求高優先級
--maxorphantx= 內存中孤塊中包含最大的交易數 (100)
--generate 使用cpu挖礦
--miningaddr= 添加接受區塊獎勵地址,如果開啓generate選項,則必須至少指定一個地址。
--blockminsize= 創建區塊時,最小區塊大小。
--blockmaxsize= 創建區塊時,最大區塊大小(默認750000Bytes)
--blockminweight= 創建區塊時,區塊最小權重
--blockmaxweight= 創建區塊時,區塊最大權重(默認:3000000)
--blockprioritysize= 創建區塊時,對於高級優先級/低手續費交易,區塊大小(默認: 50000Bytes)
--uacomment= 在用戶代理上留言 - 具體請查看BIP 14.
--nopeerbloomfilters 關閉bloom濾波器
--nocfilters 關閉committed過濾(CF)
--dropcfindex 在程序啓動時,刪掉數據庫中用於committed過濾(CF)支持的索引,然後程序退出。
--sigcachemaxsize= 簽名證書緩存條數最大值(默認100000)
--blocksonly 不從遠程節點接受交易
--txindex 維護一個完整hash-based交易索引。 這樣可以通過getrawtransaction RPC讓交易數據可用。
--droptxindex 在程序啓動時,刪掉來自數據庫中的hash-based 交易索引,然後退出。
--addrindex 維護一個address-based交易索引,這樣可以讓searchrawtransactions RPC可用。
--dropaddrindex 在程序啓動後,刪掉來自數據庫中的address-based交易索引,然後程序退出。
--relaynonstd 中轉非標準交易,忽略當前bitcoin網絡默認設置。
--rejectnonstd 拒絕非標準交易,忽略當前bitcoin網絡默認設置。