身為一個程序猿,面對用高手編程實現(xiàn)的比特幣,不研究下源碼實在說不過去。廢話少說,直奔主題。第一節(jié)是關(guān)于比特幣源碼的下載與編譯。
本文的操作都是基于Linux環(huán)境進行的。
一 ?基本環(huán)境搭建
虛擬機:Oracle VM VirtualBox
Linux版本:ubuntu-16.04.3-desktop-amd64
當(dāng)然其他版本也行,只要能安裝成功即可。
至于安裝教程,網(wǎng)上一搜一大堆,這里就不給你做伸手黨的機會了。
直接進入第二步源碼下載
二 源碼下載
1. 軟件更新
新下載的Linux系統(tǒng),建議登錄系統(tǒng)后,先更新下軟件。
左上角search your computer, 輸入 terminal,或者快捷鍵Ctrl+Alt+T, 打開命令行終端,輸入以下命令:
sudo apt-get update
sudo apt-get upgrade
基礎(chǔ)依賴庫下載,輸入以下命令,如果怕打錯,可以直接復(fù)制粘貼。
tips: 第三句不要換行執(zhí)行。
sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libqt5gui5 libqt5core5 libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler
sudo apt-get install libqrencode-dev
sudo apt-get install libminiupnpc-dev
2. 安裝git 工具
比特幣的源碼都是放在Github網(wǎng)站上面的。需要通過git工具下載到本地。執(zhí)行下面的語句,如果報錯說明系統(tǒng)沒有該工具,需要安裝,已下載的可跳過。
sudo apt install git
3. 下載源碼
接下來就是下載源碼了,
cd ~
git clone https://github.com/bitcoin/bitcoin.git
3. 安裝 berkeley-db4
? ? ? 接著安裝 berkeley-db4,注意路徑是在個人Home目錄,需要進入使用命令 “cd ~”即可。這里用的是4.8版本。
cd ~
mkdir bitcoin/db4/
wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz'
下載完成后執(zhí)行下面語句進行安裝
tar -xzvf db-4.8.30.NC.tar.gz
cd db-4.8.30.NC/build_unix/
../dist/configure --enable-cxx --disable-shared --with-pic --prefix=/home/theusername/bitcoin/db4/
make install
此時出現(xiàn)了錯誤,Permission denied,沒有權(quán)限創(chuàng)建目錄/home/theusername
所以需要改用root用戶權(quán)限來執(zhí)行
sudo make install
4. 編譯比特幣源碼
cd ~/bitcoin/
./autogen.sh
./configureLDFLAGS="-L/home/theusername/bitcoin/db4/lib/" CPPFLAGS="-I/home/theusername/bitcoin/db4/include/"
make -s -j5
以下截圖是執(zhí)行前面兩個語句的結(jié)果
但是在執(zhí)行第三條語句的時候報錯了
看錯誤是libevent沒找到,看來是少了libevent庫,上網(wǎng)搜索了下,發(fā)現(xiàn)是缺了libevent-dev,安裝上即可。
sudo apt-get install libevent-dev
執(zhí)行成功
但是執(zhí)行最后一條語句的時候又報錯了
這個錯誤只是說內(nèi)部編譯器錯誤,不好定位問題,那就再執(zhí)行一遍該語句。這次錯誤就很明顯了:Virtual memoryexhausted: Cannot allocate memory. 內(nèi)存不足,看來是我分配的內(nèi)存空間不夠。退出Ubuntu后重新分配2G內(nèi)存。
啟動后進入系統(tǒng)重新執(zhí)行以下語句:
cd ~/bitcoin/
./autogen.sh
./configure LDFLAGS="-L/home/theusername/bitcoin/db4/lib/" CPPFLAGS="-I/home/theusername/bitcoin/db4/include/"
make
sudo make install
tips: 第四個語句"make"執(zhí)行了25分鐘左右,需要耐心點哦,這時不妨泡杯茶或沖杯咖啡喝喝,權(quán)當(dāng)中場休息。
5. 檢查結(jié)果
我們可以通過詢問系統(tǒng)下面2個可執(zhí)行文件的路徑,來確認bitcoin是否安裝成功。
$ which bitcoind
正確結(jié)果: /usr/local/bin/bitcoind
$ which bitcoin-cli
正確結(jié)果:/usr/local/bin/bitcoin-cli
如果是以上兩個都與正確結(jié)果相符合,恭喜,比特幣客戶端安裝成功!
啟動客戶端, 看到彈出的Welcome窗口,心情十分雞凍呀。。。
bitcoin-qt
tips: 只打算體驗一下,不打算同步所有數(shù)據(jù)(畢竟有153G),就不要點擊OK。
區(qū)塊鏈研習(xí)社源碼研讀班 Jacky
參考資料: