CentOS 7.4 64位系統 BTC全節點搭建
- 下載bitcoin core,目前版本為 0.17.1,下載地址為:
https://github.com/bitcoin/bitcoin/releases
2.在服務器新建目錄 btc,目錄名稱自定義,我是建立在root目錄下的,如下圖。
將下載的文件上傳到btc目錄下,並解壓,解壓命令為:
tar -xzvf bitcoin-0.17.1-x86_64-linux-gnu.tar.gz
在btc 目錄下運行該命令。
可以在btc目錄下看到以下兩個文件
源碼就下載完成了。
3.建立區塊鏈節點數據存儲目錄。(目前2019-3-7,BTC區塊數據已達到200多個G,注意建立存儲目錄時要保證硬盤容量夠大),本文是直接建立在源碼文件解壓文件 bitcoin-0.17.1下的,如圖:
說明:data 是數據存儲目錄。
4.然后配置配置文件(配置文件可在本地寫好之后上傳也可在服務上新建)
,本文是在btc目錄下新建的,如圖:
bitcoin.conf 文件建立的位置可自定義,但是需要找到文件為位置。
bitcoin.conf 文件內容為(#號為注釋符號):
# 數據存儲目錄(此路徑為上面建立的數據儲存路徑的完整路徑)
datadir=/root/btc/bitcoin-0.17.1/data
# 使用測試網絡(0:正式網,1:測試網)
testnet=0
# 告知 Bitcoin-Qt 和 bitcoind 接受JSON-RPC命令(是否啟用命令和接受RPC服務)
server=1
# 設置 gen=1 以嘗試比特幣挖礦
gen=0
# 后台執行(是否后台執行)
daemon=0
# 監聽 RPC 鏈接,正式默認端口8333 測試默認18333(最好設置好,免得不清楚)
rpcport=8332
#RPC服務賬號和密碼,不設置的話是有默認密碼的,本文沒去深究默認,直接用自己設置的
rpcuser=123456
rpcpassword=abcdef
#允許那些IP訪問RPC接口,以下寫法為默認所有ip都可訪問
rpcallowip=0.0.0.0/0
rpcconnect=127.0.0.1
更多配置可參考網址:https://www.mgchen.com/112.html
本文使用的是簡易配置。
5.啟動BTC節點程序, 本文沒有啟動后台運行程序,所以建議在服務器開個tmux 啟動節點程序。命令為:
tmux new -s 1 說明:1為session 名字。
進入源碼解壓文件bitcoin-0.17.1,然后進入其下的bin目錄,如圖
在此目錄下執行啟動節點程序命令:
./bitcoind -conf=/root/btc/bitcoin.conf
說明:-conf=/root/btc/bitcoin.conf,此局就是說明按照此配置文件啟動節點,文件路徑為完完整的文件路徑,上面已經說明,此路徑可自定義設置,啟動節點是需要寫明完整路徑即可。
啟動成功后就會自動更新節點數據了。注意:啟動BTC節點,包括bitcoin-cli 命令,rpc服務,區塊數據同步。
5.使用bitcoin-cli命令
在bin目錄執行
本文列舉幾個簡易命令,其他命令可自行百度,或者通過help命令獲取
# 查看網絡狀態:
./bitcoin-cli -rpcconnect=127.0.0.1 -rpcuser=123456 -rpcpassword=abcdef -rpcport=8332 getnetworkinfo
# 查看網絡節點:
./bitcoin-cli -rpcconnect=127.0.0.1 -rpcuser=123456 -rpcpassword=abcdef -rpcport=8332 getpeerinfo
# 查看區塊鏈信息:如同步進度、
./bitcoin-cli -rpcconnect=127.0.0.1 -rpcuser=123456 -rpcpassword=abcdef -rpcport=8332 getblockchaininfo
# 查看所有命令
./bitcoin-cli -rpcconnect=127.0.0.1 -rpcuser=123456 -rpcpassword=abcdef -rpcport=8332 help
注意:-rpcconnect=127.0.0.1 -rpcuser=123456 -rpcpassword=abcdef 這段為配置文件中的內容
6通過POST訪問RPC服務;
第一個框為服務器地址及端口,第二個框為用戶名和密碼,此為配置文件bticoin.conf中設置的rpcuser和rpcpassword,然后寫消息內容如圖:
內容:
{
"method": "getblockhash",
"params": [0],
"id": "foo"
}
然后點擊發送即可獲取到對應的結果。更多請求可參考bitcoin的文檔或者第三方翻譯的文檔。
Bitcoin文檔:https://bitcoin.org/en/developer-reference#remote-procedure-calls-rpcs
第三方文檔:https://blog.csdn.net/ffzhihua/article/details/80706122