身為一個(gè)程序猿,面對(duì)用高手編程實(shí)現(xiàn)的比特幣拴清,不研究下源碼實(shí)在說(shuō)不過(guò)去。廢話少說(shuō)会通,直奔主題口予。第一節(jié)是關(guān)于比特幣源碼的下載與編譯。
本文的操作都是基于Linux環(huán)境進(jìn)行的涕侈。
一 ?基本環(huán)境搭建
虛擬機(jī):Oracle VM VirtualBox
Linux版本:ubuntu-16.04.3-desktop-amd64
當(dāng)然其他版本也行沪停,只要能安裝成功即可。
至于安裝教程裳涛,網(wǎng)上一搜一大堆木张,這里就不給你做伸手黨的機(jī)會(huì)了。
直接進(jìn)入第二步源碼下載
二 源碼下載
1. 軟件更新
新下載的Linux系統(tǒng)调违,建議登錄系統(tǒng)后窟哺,先更新下軟件。
左上角search your computer, 輸入 terminal技肩,或者快捷鍵Ctrl+Alt+T, 打開(kāi)命令行終端且轨,輸入以下命令:
sudo apt-get update
sudo apt-get upgrade
基礎(chǔ)依賴庫(kù)下載,輸入以下命令虚婿,如果怕打錯(cuò)旋奢,可以直接復(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)站上面的至朗。需要通過(guò)git工具下載到本地。執(zhí)行下面的語(yǔ)句剧浸,如果報(bào)錯(cuò)說(shuō)明系統(tǒng)沒(méi)有該工具锹引,需要安裝矗钟,已下載的可跳過(guò)。
sudo apt install git
3. 下載源碼
接下來(lái)就是下載源碼了嫌变,
cd ~
git clone https://github.com/bitcoin/bitcoin.git
3. 安裝 berkeley-db4
? ? ? 接著安裝 berkeley-db4吨艇,注意路徑是在個(gè)人Home目錄,需要進(jìn)入使用命令 “cd ~”即可腾啥。這里用的是4.8版本东涡。
cd ~
mkdir bitcoin/db4/
wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz'
下載完成后執(zhí)行下面語(yǔ)句進(jìn)行安裝
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
此時(shí)出現(xiàn)了錯(cuò)誤,Permission denied倘待,沒(méi)有權(quán)限創(chuàng)建目錄/home/theusername
所以需要改用root用戶權(quán)限來(lái)執(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í)行前面兩個(gè)語(yǔ)句的結(jié)果
但是在執(zhí)行第三條語(yǔ)句的時(shí)候報(bào)錯(cuò)了
看錯(cuò)誤是libevent沒(méi)找到疮跑,看來(lái)是少了libevent庫(kù),上網(wǎng)搜索了下凸舵,發(fā)現(xiàn)是缺了libevent-dev祖娘,安裝上即可。
sudo apt-get install libevent-dev
執(zhí)行成功
但是執(zhí)行最后一條語(yǔ)句的時(shí)候又報(bào)錯(cuò)了
這個(gè)錯(cuò)誤只是說(shuō)內(nèi)部編譯器錯(cuò)誤贞间,不好定位問(wèn)題贿条,那就再執(zhí)行一遍該語(yǔ)句。這次錯(cuò)誤就很明顯了:Virtual memoryexhausted: Cannot allocate memory. 內(nèi)存不足增热,看來(lái)是我分配的內(nèi)存空間不夠整以。退出Ubuntu后重新分配2G內(nèi)存。
啟動(dòng)后進(jìn)入系統(tǒng)重新執(zhí)行以下語(yǔ)句:
cd ~/bitcoin/
./autogen.sh
./configure LDFLAGS="-L/home/theusername/bitcoin/db4/lib/" CPPFLAGS="-I/home/theusername/bitcoin/db4/include/"
make
sudo make install
tips: 第四個(gè)語(yǔ)句"make"執(zhí)行了25分鐘左右峻仇,需要耐心點(diǎn)哦公黑,這時(shí)不妨泡杯茶或沖杯咖啡喝喝,權(quán)當(dāng)中場(chǎng)休息摄咆。
5. 檢查結(jié)果
我們可以通過(guò)詢問(wèn)系統(tǒng)下面2個(gè)可執(zhí)行文件的路徑凡蚜,來(lái)確認(rèn)bitcoin是否安裝成功。
$ which bitcoind
正確結(jié)果: /usr/local/bin/bitcoind
$ which bitcoin-cli
正確結(jié)果:/usr/local/bin/bitcoin-cli
如果是以上兩個(gè)都與正確結(jié)果相符合吭从,恭喜朝蜘,比特幣客戶端安裝成功!
啟動(dòng)客戶端, 看到彈出的Welcome窗口涩金,心情十分雞凍呀谱醇。。步做。
bitcoin-qt
tips: 只打算體驗(yàn)一下副渴,不打算同步所有數(shù)據(jù)(畢竟有153G),就不要點(diǎn)擊OK全度。
區(qū)塊鏈研習(xí)社源碼研讀班 Jacky
參考資料: