【技術(shù)系列】手把手教你編譯比特幣系統(tǒng)源碼

導(dǎo)語:上文我談了一下對比特幣價值幾千億美金的看法,相信讀者對價值的理解更加深入了抖锥,接下來將真正進入技術(shù)系列文章的寫作,本文我將介紹如何獲取比特幣系統(tǒng)的源碼,并手把手教讀者編譯源碼并運行道批。


一、系統(tǒng)環(huán)境準備

1. 系統(tǒng)要求

本文講解的是在Unbutu 14.4 LTS系統(tǒng)上編譯系統(tǒng)入撒,所以讀者得安裝unbutu系統(tǒng)隆豹,考慮到讀者可能根本沒有聽說過這個系統(tǒng),所以讀者可以參考在 Windows 中制作 Ubuntu 系統(tǒng)的USB啟動盤并安裝教程制作系統(tǒng)盤并安裝Unbubu系統(tǒng)茅逮。

2. 獲取比特幣源碼

讀者安裝完Unbutu系統(tǒng)后璃赡,快捷鍵Ctrl+Alt+T打開終端,輸入如下命令

 cd   //進入主目錄 
 sudo  apt-get install git //安裝git 版本控制工具
 git clone https://github.com/bitcoin/bitcoin.git  //下載比特幣源碼

二献雅、編譯過程

1. 編譯環(huán)境安裝

讀者準備好了系統(tǒng)與比特幣源碼以后就可以正式編譯了碉考,先安裝編譯環(huán)境的必要開發(fā)包,在終端輸入以下命令:

 sudo apt-get install make //安裝make
 sudo apt-get install gcc //gcc編譯器
 sudo apt-get install libdb-dev  
 sudo apt-get install libdb++-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
2. 編譯配置

讀者執(zhí)行完上述命令后可能有一些因為安裝源的問題沒有安裝成功惩琉,但是我們先不管豆励,輸入一下命令配置后,缺少補啥。

 cd bitcoin  //進入bitcion目錄
./autogen.sh 執(zhí)行腳步
./configure  //配置

如果你遇到這樣的提示:configure: error: Found Berkeley DB other than 4.8, required for portable wallets 那就可以執(zhí)行如下命令安裝DB4.8++-dev:

 sudo apt-get install software-properties-common
 sudo add-apt-repository ppa:bitcoin/bitcoin
 sudo apt-get update
 sudo apt-get install libdb4.8-dev libdb4.8++-dev

如果你遇到提示"error: libevent not found"

 sudo apt-get install  libevent-dev 安裝該庫

如果你遇到提示“configure:error:openssl not found”

sudo apt-get install  libsll-dev 

如果你執(zhí)行./configure 還是類似這樣的錯誤就是對應(yīng)的包沒有安裝良蒸,直接百度該包在unbutu上如何安裝技扼,然后對應(yīng)安裝就沒問題了。

執(zhí)行如果沒有錯誤的話會如下所示

Options used to compile and link:
  with wallet   = yes
  with gui / qt = no  //圖形化qt
  with qr     = auto
  with zmq      = no
  with test     = yes
  with bench    = yes
  with upnp     = yes
  use asm       = yes
  sanitizers    = 
  debug enabled = no
  gprof enabled = no
  werror        = no

  target os     = linux
  build os      = 

  CC            = gcc
  CFLAGS        = -g -O2
  CPPFLAGS      =  -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS
  CXX           = g++ -std=c++11
  CXXFLAGS      = -g -O2 -Wall -Wextra -Wformat -Wvla -Wformat-security -Wno-unused-parameter
  LDFLAGS       = 
  ARFLAGS       = cr

你還沒有安裝比特幣的圖形化前端qt( with gui / qt = no)執(zhí)行如下命令安裝qt

    sudo apt-get install libqt4-core libqt4-gui libqt4-dev

再此執(zhí)行./configure后with gui / qt = yes說明安裝成功了嫩痰,然后就可以真正編譯了剿吻,執(zhí)行如下命令

 make 編譯 

坐等十分鐘就編譯完了,然后執(zhí)行如下命令安裝

sudo make install 安裝

安裝完后執(zhí)行如下命令就能打開比特幣錢包前端

bitcoin-qt 運行比特幣前端
bitcoind  -server –printtoconcole 運行服務(wù)端
運行比特幣前端圖.png
3. 安裝源問題解決

在此過程中很多讀者可能遇到開發(fā)包無法安裝的問題串纺,這個問題其實是安裝源的問題導(dǎo)致丽旅,所以建議讀者之間修改安裝源后再執(zhí)行上述步驟,辦法如下

sudo cp /etc/apt/source.list /etc/apt/source.list.bak       # 將原有的源文件復(fù)制保存
sudo gedit /etc/apt/source.list 
將以下內(nèi)容拷貝進入后保存
deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

最后執(zhí)行    
sudo apt-get update 更新源就可以了

讀者在編譯過程中遇到的什么問題都可以聯(lián)系我纺棺,我很樂意為大家解答,最后讀者也可以參考官方指南編譯比特幣源碼


三祷蝌、后文引入

通過本文就算讀者是技術(shù)小白,只要愿意花一點時間也是編譯成功的巨朦,邁出這關(guān)鍵的一步后就是研究整個系統(tǒng)的源碼了,歡迎讀者跟著我一起打開區(qū)塊鏈技術(shù)大門糊啡,本系列最后會教會讀者開發(fā)山寨幣拄查,寫作規(guī)劃可以讀區(qū)塊鏈技術(shù)學(xué)習(xí)系列開篇,下一篇文章我將帶大家體驗比特幣錢包,并從交易所提現(xiàn)比特幣到自己的錢包里堕扶,并完成一次轉(zhuǎn)賬。


作者:情詩少年挣柬,95后,專注區(qū)塊鏈技術(shù)研究睛挚、產(chǎn)品項目解讀邪蛔,行業(yè)深度思考寫作,堅持輸出有價值的深度思考的好文章扎狱,立志成為有思想有優(yōu)秀人格的有位青年侧到。
微信:953751759
郵箱:953751759@qq.com
簡書:www.reibang.com/u/d0a20cb6d002
博客:https://blog.csdn.net/qq_15562815
幣乎:https://bihu.com/people/309388


24點區(qū)塊鏈:24點區(qū)塊鏈社區(qū)是一批立志在區(qū)塊鏈行業(yè)探索的90后組建的社區(qū)匠抗,他們專注區(qū)塊鏈行業(yè)發(fā)展與探索,包括區(qū)塊鏈技術(shù)汞贸、產(chǎn)品項目解讀,行業(yè)深度思考等方面矢腻。其目的是為身處幣鏈圈、以及對區(qū)塊鏈行業(yè)感興趣的的人士貢獻我們的價值多柑。
專題地址:http://www.reibang.com/c/0d0c26aaeb42

招募條件:
1.自身專注(或已經(jīng)準備)區(qū)塊鏈的某個方向的研究與探索。
2.有寫作的習(xí)慣竣灌。
3.熱愛分享、堅持學(xué)習(xí)初嘹。
你的收獲:
1.一群互幫互助,相互信任豁生,志同道合的朋友。
2.一個不斷成長的優(yōu)秀的自己。
3.一群人總比一個人走得快的真理育叁。
加入方式:微信我


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市谴蔑,隨后出現(xiàn)的幾起案子龟梦,更是在濱河造成了極大的恐慌隐锭,老刑警劉巖计贰,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異躁倒,居然都是意外死亡,警方通過查閱死者的電腦和手機秧秉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門象迎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來荧嵌,“玉大人,你說我怎么就攤上這事啦撮。” “怎么了逻族?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵蜻底,是天一觀的道長。 經(jīng)常有香客問我薄辅,道長抠璃,這世上最難降的妖魔是什么站楚? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任窿春,我火速辦了婚禮,結(jié)果婚禮上旧乞,老公的妹妹穿的比我還像新娘磅氨。我一直安慰自己尺栖,他們只是感情好烦租,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著挫以,像睡著了一般窃祝。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上粪小,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天,我揣著相機與錄音量没,去河邊找鬼。 笑死殴蹄,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的袭灯。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼橘茉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了畅卓?” 一聲冷哼從身側(cè)響起蟋恬,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎歼争,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體俩莽,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡乔遮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了申眼。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蝉衣。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖濒翻,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情有送,我是刑警寧澤僧家,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站八拱,受9級特大地震影響涯塔,放射性物質(zhì)發(fā)生泄漏清蚀。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一枷邪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧东揣,春花似錦、人聲如沸童本。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽运沦。三九已至,卻和暖如春携添,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背羞秤。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工左敌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瘾蛋,地道東北人矫限。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像取董,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子茵汰,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容