最近想研究下比特幣源碼,首先得安裝下編譯環境,我首先按源碼中build-osx.md文檔中在mac中設置了下環境。過程一點也不順利。好不容易把該下載的文件下載完了。并且安裝后。在編譯源碼過程中。出現了各種錯誤。
后來通過 菜菜子 的文章 http://www.lxweimin.com/p/8b4ebd0e4b3d?utm_campaign=hugo&utm_medium=reader_share&utm_content=note&utm_source=weixin-friends 開始在linux平臺中進行設置.
步驟一:
結果在 sudo apt-get install build-essential libtoolautotools-dev autoconf pkg-config libssl-dev 這條命令出了錯,錯誤信息是"無法定位軟件包 libtoolautotools"。這種問題對于linux小白的我來說,還是很郁悶的。但是通過網上找些問題 發現了其中了問題 。原來菜菜子把 libtool autotools 寫連了,分開即可。
步驟二:
按上面步驟安裝完了之后。開始下載源碼。發現沒安裝git..安裝git的命令行是:
sudo apt install git.
步驟三:
然后下載比特幣源碼:git clone https://github.com/bitcoin/bitcoin.git 。我裝源碼安裝在了文檔目錄下.
步驟四:
開始安裝berkeley-db(伯克利 數據庫):Berkeley DB是一個開源的文件數據庫,介于關系數據庫與內存數據庫之間,使用方式與內存數據庫類似,它提供的是一系列直接訪問數據庫的函數,而不是像關系數據庫那樣需要網絡通訊、SQL解析等步驟。
在bitcoin目錄下建立文件夾db4:
cd bitcoin
mkdir db4
然后下載berkeley-db安裝包:
wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz'?
我安裝這個版本的berkeley挺順利的。如果不順利,可以嘗試下載
wget 'http://download.oracle.com/berkeley-db/db-6.2.32.NC.gz'
這個版本的數據庫。
接下來就是解壓和編譯:
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
我在 make install 的時候出現了錯誤信息: mkdir:無法創建目錄"home/theusername":權限不夠 makefile:933:recipe for target 'install_setup' failed。這就郁悶了。百度查了一下。結果也不能解決這個問題。最后還是問了下“菜菜子”老師。其實非常簡單。這個“權限不夠”,是要用管理員權限。改為:
sudo make install .
完美解決,心里有點小激動。接下來就要裝比特幣的客戶端了。首先進入bitcoin目錄下。
cd ..
cd ..
cd ..
./autogen.sh
./configure LDFLAGS="-L/home/theusername/bitcoin/db4/lib/" CPPFLAGS="-I/home/theusername/bitcoin/db4/include/"
結果這個命令又出問題了。報出的錯誤信息是:configure:error:openssl not found
沒找到openssl,但我是有安裝的。百度查了下。說是要安裝開發版。接著執行下面的命令:
sudo apt-get install libsll-dev
安裝成功后接著執行上面的配置命令,又報出了一個 “libevent not found"的錯誤。真是不順利呀。接著安裝這個庫吧:sudo apt-get install libevent-dev。安裝成功后,接著執行配置命令:./configure LDFLAGS="-L/home/theusername/bitcoin/db4/lib/" CPPFLAGS="-I/home/theusername/bitcoin/db4/include/" 這次終于順利執行完了。眼淚都快出來了。平復下心情。接著執行下面的命令。
make
sudo make install
終于順利完成。眼淚嘩嘩的。
步驟五:
那怎樣證明安裝成功了呢。我們通過以下兩個命令行進行驗證:
$ which bitcoind
/usr/local/bin/bitcoind
$ which bitcoin-cli
/usr/local/bin/bitcoin-cli
結果正常輸出了。終于完成了進入比特幣源碼世界的第一步了。
區塊鏈研習社比特幣源碼研讀班,black