比特幣學習筆記(一)---在windows下編譯搭建比特幣環境


最近打算研究下比特幣源碼,卻發現這套源碼正常情況下得在linux下編譯運行,而我的機器是windows的。

怎么辦呢?

起初打算用mingw和cygwin搞搞看,試了許久后發現行不通,必須轉到linux環境下才行。

為了在windows下使用linux環境,最初是打算用虛擬機的,后來又想起win10下已經支持linux了(WSL),所以打算先用WSL試試,沒想到竟然真的成功了。

故寫下這篇文章,記錄下環境搭建過程,以免以后再有類似需求的話會走彎路。

安裝並配置WSL

在開始之前先確定一下Windows版本是不是Windows10,然后建議更新到最新版.
打開 Microsoft Store , 搜索 Linux 會有三個結果 Ubuntu , openSUSE Leap42 , SUSE Linux Enterprise Srever

 


因為日用為主所以這里選擇 Ubuntu,用Ubuntu作為示范(WSL里的Ubuntu自帶git,vim,ssh等常用軟件,其他的沒用過不清楚).
傻瓜式安裝完成之后(連下一步都沒有),會彈出通知直接打開就行,如果沒有通知可以去開始里找到剛剛安裝好的 Ubuntu 打開就行了

 


但是,這個時候會發現,不能用提示沒有打開WSL,需要啟動后重試

 

 

 


需要到 控制面板\所有控制面板項\程序和功能 中選擇 啟用或者關閉Windows功能

 

 

 


找到 適用於Linux的Windows子系統 並勾選,然后 確定 選擇 立即重新啟動

 

 

 

重啟之后再次打開 Ubuntu 就可以使用了,根據提示輸入用戶名,兩次輸入密碼就可以看見熟悉的命令行

 

然后熟悉的套路,先設置root用戶

sudo passwd root

 

 

su root

然后輸入root用戶的密碼即可,接着更換 apt 的數據源

cd /etc/apt  #進入配置文件所在目錄
cp sources.list sources.list.bak  #備份配置文件
vim sources.list  #編輯配置文件

將下面的配置覆蓋 sources.list 中的配置

deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse

於是我就想,既然這是安裝在Windows上的子系統,那是不是應該有着類似於共享文件夾的東西,於是找到了這么一個文件夾

C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs

這個就是 Ubuntu WSL版的根目錄,接着到 *etc\apt* 下找到 sources.list 用之前貼的配置文件覆蓋即可.接着更新數據源

sudo apt-get update  #更新源  
sudo apt-get upgrade  #更新軟件 

安裝並編譯比特幣源碼

首先,我們去拿比特幣源碼

git clone https://github.com/bitcoin/bitcoin.git

然后,執行以下命令,安裝編譯所需的組件

sudo apt-get install make

sudo apt-get install gcc

sudo apt-get install g++

sudo apt-get install libdb-dev

sudo apt-get install libdb++-dev

sudo apt-get install libdb5.1++-dev

sudo apt-get install libboost-dev

sudo apt-get install libboost-all-dev

sudo apt-get install zlib1g-dev

sudo apt-get install libssl-dev

sudo apt-get install build-essential

sudo apt-get install libminiupnpc-dev

sudo apt-get install autoconf

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

sudo apt-get install libqrencode-dev libminiupnpc-dev

第三步,安裝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

最后,編譯比特幣主代碼:

進入代碼主目錄

./autogen.sh

./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

結果正常輸出了。終於完成了進入比特幣源碼世界的第一步了。

 

本博文借鑒資料:

https://www.jianshu.com/p/0d3a32a0a973
https://www.jianshu.com/p/6b02948b3d37


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM