1. 程式人生 > >Ubuntu編譯執行bitcoin執行全節點

Ubuntu編譯執行bitcoin執行全節點

由於近期學習區塊鏈,需要學習下比特幣原始碼,所以嘗試著在windows和Linux環境下編譯執行,但是windows下的環境配置很繁瑣總是在裝qt的時候報錯,下面貼一下在linux環境下的配置和執行步驟(ubuntu) github原始碼連結(https://github.com/bitcoin/bitcoin/) (1)安裝依賴包 用命令apt-get install安裝,如果沒有找到該命令則安裝apt-get(自行搜尋,安裝後sudo apt-get update更新包),如果顯示許可權不夠則加用sudo apt-get install命令 經過驗證:必需的依賴包有: 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 (2)將github上的原始碼克隆下來 git clone https://github.com/bitcoin/bitcoin.git 注意是https 注:如果沒有安裝git則先安裝(命令:sudo apt-get install git-core) 如果git clone太慢,可以直接上該網址將原始碼download下來,然後建立資料夾bitcoin,解壓到其中。 (3)編譯執行 cd bitcoin 會看到整個原始碼的各種檔案,其中有可執行檔案autogen.sh和配置檔案configure ./autogen.sh 如果報錯則加sudo ./configure 該過程則是在你的機器中配置與程式碼執行相關的依賴並檢查必要的環境 我所瞭解到的bitcoin程式碼執行機制是多執行緒的,父程序建立子程序,父程序執行過程中返回後子程序繼續進行執行過程的初始化,包括下面12個步驟: Step 1: setup 設定 Step 2: parameter interactions 引數互動(主要是一些引數設定) Step 3: parameter-to-internal-flags 引數傳入內部標記(bool型變數) Step 4: application initialization: dir lock, daemonize, pidfile, debug log 應用初始化:鎖定目錄,後臺執行,除錯資訊 Step 5: verify wallet database integrity 確認錢包資料庫的完整性 Step 6: network initialization 網路初始化 Step 7: load block chain 載入塊鏈 Step 8: load wallet 載入錢包 Step 9: import blocks 匯入塊資料 Step 10: load peers 匯入peers Step 11: start node 開始節點(挖礦程式在這裡) Step 12: finished 完成 所以bitcoin需要檢查配置資訊以及網路情況,才開始載入塊鏈 執行完.configure之後需要看看是否有相應的錯誤資訊或者WARNING一般warning是可以允許的如果對於bitcoin最後的執行而言,但是我們還是最好逐一排除警告 一開始會出現error的資訊: 比特幣原始碼linux下環境配置編譯執行bitcoin
所以我們改成下面的命令跳過DB版本檢測重新執行一遍: ./configure –with-incompatible-bdb 接下來應該是沒有error的,此時我們需要往上滾動檢視執行結果看是否有warning警告資訊 如果是warning:libevent not found 比特幣原始碼linux下環境配置編譯執行bitcoin 則sudo apt-get install libevent-dev 後重新執行 ./configure –with-incompatible-bdb 如果是warning: zmq找不到大於4的版本 比特幣原始碼linux下環境配置編譯執行bitcoin 則sudo apt-get install libzmq-dev 一般到這裡已經可以顯示最後的檢查結果資訊頁面了: 比特幣原始碼linux下環境配置編譯執行bitcoin 如果warning:缺少qt所需的依賴 比特幣原始碼linux下環境配置編譯執行bitcoin
則sudo apt-get install libqt4-dev 如果還顯示warning: libprotobuf找不到 比特幣原始碼linux下環境配置編譯執行bitcoin 則 sudo apt-get install libprotobuf-dev sudo apt-get install protobuf-compiler 到這裡雖然有下面兩個警告沒解決但已經算配置成功了的 比特幣原始碼linux下環境配置編譯執行bitcoin 其實如果嫌麻煩,當然可以先把必須的跟不必須的一起裝了,省的反覆執行.confiure命令 此時最後的輸出結果為: 比特幣原始碼linux下環境配置編譯執行bitcoin (4)執行make命令 sudo make sudo make install 執行差不多8分鐘就已經編譯完成 (5)此時執行: bitcoin-qt 即可調出客戶端 比特幣原始碼linux下環境配置編譯執行bitcoin
會提示載入區塊資料,近120G,全部載入完畢則就是我們所說的全節點。