1. 程式人生 > >linux下從原始碼編譯比特幣客戶端

linux下從原始碼編譯比特幣客戶端

下載原始碼

  • 這個是master分支的,建議在tag裡選最新的穩定版,目前是v0.14.2
  • 直接下載zip,別clone了,clone很慢。

編譯程式碼

不妨先看看官方的編譯說明

ps:

第一手的官方的資源一般都是最好的,有問題了最好先從官方資源入手,而不是從網上搜索二手、三手的。所以我建議每個在網上寫攻略、教程、學習筆記的人,都說明下知識原處,而學習的人一定要找第一手資源,其他的作為參考,畢竟誤讀幾乎是不可避免的。

unix系統的編譯說明在doc目錄下
整個說明大致分為這部分:
- 怎麼編譯
- 依賴項說明
- 依賴項的安裝

依賴項的安裝

通讀一下依賴項的說明,大致瞭解下需要哪些依賴項,哪些是可選的哪些是必須的之後,就先準備編譯依賴項。
根據自己的系統在文件裡找相應的部分,我這裡是debian,Fedora、FreeBsd、Arch Linux的自己找對應的。

一般項

apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils

boost 相關

可以只安裝用到的庫

apt-get install libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev

也可以全裝,也就130M

apt-get install libboost-all-dev

BerkeleyDB

這裡debian和ubuntu有點小區別,ubuntu的可以參考文件。我這裡debian 9用的163的源。

apt-get install libdb-dev
apt-get install libdb++-dev

這個裝完對應的BerkeleyDB版本貌似是6.x,和系統配置的不一樣,後面配置的時候需要多帶個–with-incompatible-bdb選項

zmq可裝可不裝

apt-get install libzmq3-dev

qt5以及protobuf

apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler

編譯

配置生成makefile

./autogen.sh
./configure –with-incompatible-bdb

可以檢視所有選項,我這邊就關掉了test模組

./configure –helo
./configure –with-incompatible-bdb –disable-tests

make

make
make install

檢查是否安裝成功

可以使用which bitcoind
也可以直接啟動客戶端試試

bitcoin-qt

客戶端啟動後會要你設定一個數據目錄,這個建議設到其他盤。程式啟動看一下就好了,下載全部區塊資料要120G…