centos7 下安裝比特幣客戶端——bitcoin
sudo yum install -y autoconf automake libtool libdb-devel boost-devel libevent-devel
下載
github上找到對應版本。這裡下載0.18版本原始碼。
wget https://github.com/bitcoin/bitcoin/archive/0.18.zip
解壓zip
如果linux伺服器沒有安裝解壓程式,則執行以下命令安裝:
yum install unzip
解壓zip包
unzip 0.18.zip
進入bitcoin-0.18目錄
cd ./bitcoin-0.18
執行autogen.sh,生成configure檔案
./autogen.sh
執行configure,生成Makefile
./configure
如果出現如下錯誤,則是缺少C++編譯器。
configure: error: C++ compiler cannot create executables
安裝c++編譯器。
yum install gcc-c++
繼續執行configure命令,如果出現以下錯誤,則是缺少Berkeley DB。
configure: error: libdb_cxx headers missing, Bitcoin Core requires this library for wallet functionality (--disable-wallet to disable wallet functionality)
安裝Berkeley DB
安裝Berkeley DB依賴環境
sudo yum install -y libtool-ltdl libtool-ltdl-devel gcc openssl openssl-devel
下載Berkeley DB 4.8以上版本
這裡安裝4.8.30版本。
wget http://download.oracle.com/berkeley-db/db-4.8.30.tar.gz
將檔案放置/usr/local/src/目錄下,解壓:
tar xvzf db-4.8.30.tar.gz
建立berkeleydb目錄:
mkdir /usr/local/berkeleydb
進入目錄:
cd /usr/local/berkeleydb
安裝並指定安裝目錄:
./../src/db-4.8.30/dist/configure --prefix=/usr/local/berkeleydb --enable-cxx
make && sudo make install
安裝完成後,配置Berkeley DB的連結庫
echo '/usr/local/berkeleydb/lib/' >> /etc/ld.so.conf ldconfig
Berkeley DB安裝完成
繼續bitcoin操作
回到bitcoin安裝目錄繼續之前操作:
./configure LDFLAGS="-L/usr/local/berkeleydb/lib/" CPPFLAGS="-I/usr/local/berkeleydb/include/" make make install
至此bitcoin客戶端安裝完畢,輸入bitcoin-cli命令驗證一下
$ which bitcoin-cli /usr/local/bin/bitcoin-cli $ bitcoin-cli -version Bitcoin Core RPC client version v0.18.0.0-ge57462c6ba6023e0ed5417067364dcea2f88b36d
生成檔案
安裝完成後在/usr/local/bin目錄下會生成6個可執行檔案:
- bench_bitcoin:根據https://github.com/bitcoin/bitcoin/issues/829 解釋,作用是編譯系統更新,也就是檢查系統使用的一些加密演算法是否有新的更新。
- bitcoin-cli:是Bitcoind的一個功能完備的RPC客戶端,包括查詢區塊,交易資訊等等,具體將在相應章節介紹。
- bitcoind:是比特幣執行的核心程式俗稱bitcoin core。
- bitcoin-tx:比特幣交易處理模組,支援交易的查詢和建立。
- bitcoin-wallet:比特幣錢包。
- test_bitcoin:執行各個模組的測試程式碼。
配置啟動
建立配置檔案
建立目錄和配置檔案
mkdir -p ~/.bitcoin touch ~/.bitcoin/bitcoin.conf
配置內容:
# 接受JSON-RPC請求 server=1 # 是否是獨立程序, 守護程序 daemon=1 # If run on the test network instead of the real bitcoin network # testnet=0# 這裡設定成為1,就是 測試網路. # You must set rpcuser and rpcpassword to secure the JSON-RPC api # Please make rpcpassword to something secure, `5gKAgrJv8CQr2CGUhjVbBFLSj29HnE6YGXvfykHJzS3k` for example. # Listen for JSON-RPC connections on(default: 8332 or testnet: 18332) # rpc 使用者名稱 rpcuser=testuser # 密碼 rpcpassword=123456 # 允許訪問i rpcallowip=127.0.0.1 # 埠 rpcport=8332 # 資料儲存位置 datadir=/mnt/btc_data
執行啟動命令:
bitcoind -conf=~/.bitcoin/bitcoin.conf 或 bitcoind # 因為會預設尋找當前使用者下.bitcoin/bitcoin.conf的配置檔案
停止程式:
bitcoin-cli stop
檢視日誌,日誌位於datadir目錄下的debug.log檔案內。