比特币源码编译和安装环境搭建

钟晓宏 ☉ 文 来源:钟晓宏
2018-04-24 @ 哈希力量严选

前言

很早前就下载了比特币的源码,但是编译一直有问题,这一次借助《区块链研习社》比特币代码研班第二期的第一次任务,再试着编译,终于获得成功。gEp哈希力量 | 智能的力量

前面几次编译,在编译过程中总会黑屏,然后怎么操作都没有用,一度以为是我的笔记本带不动这个虚拟机。后来才发现,这是因为比特币的源码比较多,编译所需要的时间较长,Ubuntu自动休眠了!gEp哈希力量 | 智能的力量

Ubuntu系统默认10分钟无人工操作进入休眠模式,我将它设置为从不休眠,编译和安装过程就很顺利。gEp哈希力量 | 智能的力量

废话不多说,现在正式进入正文:gEp哈希力量 | 智能的力量

一、安装虚拟机

宿主机操作系统:win7旗舰版gEp哈希力量 | 智能的力量

虚拟机:VMware (12.5.5) Ubuntu(16)gEp哈希力量 | 智能的力量


gEp哈希力量 | 智能的力量

二、下载代码

源码地址:https://github.com/bitcoin/bitcoin
gEp哈希力量 | 智能的力量

方法一:ubuntu下命令行: git clone https://github.com/bitcoin/bitcoingEp哈希力量 | 智能的力量

方法二:直接下载,解压到指定目录下(VMware支持共享文件夹,window和ubuntu虚拟机皆可访问)gEp哈希力量 | 智能的力量


gEp哈希力量 | 智能的力量

三、编译环境

ubuntu主要使用apt-get安装依赖包。gEp哈希力量 | 智能的力量

第一步:更新ubuntu所有的依赖包

命令行输入:sudo apt-get updategEp哈希力量 | 智能的力量

第二步:安装比特币编译和运行环境所需要的依赖包

sudo apt-get install make
gEp哈希力量 | 智能的力量

sudo apt-get install gccgEp哈希力量 | 智能的力量

sudo apt-get install g gEp哈希力量 | 智能的力量

sudo apt-get install libdb-devgEp哈希力量 | 智能的力量

sudo apt-get install libdb -devgEp哈希力量 | 智能的力量

sudo apt-get install libdb5.1 -devgEp哈希力量 | 智能的力量

sudo apt-get install libboost-devgEp哈希力量 | 智能的力量

sudo apt-get install libboost-all-devgEp哈希力量 | 智能的力量

sudo apt-get install zlib1g-devgEp哈希力量 | 智能的力量

sudo apt-get install libssl-devgEp哈希力量 | 智能的力量

sudo apt-get install build-essentialgEp哈希力量 | 智能的力量

sudo apt-get install libminiupnpc-devgEp哈希力量 | 智能的力量

sudo apt-get install autoconfgEp哈希力量 | 智能的力量


gEp哈希力量 | 智能的力量

四、编译代码

第一步:配置与代码运行相关的依赖并检查必要的环境

cd bitcoin
gEp哈希力量 | 智能的力量

sudo ./autogen.shgEp哈希力量 | 智能的力量

./configure
gEp哈希力量 | 智能的力量

执行完.configure之后需要看看是否有相应的错误信息或者WARNING一般warning是可以允许的如果对于bitcoin最后的运行而言,但是我们还是最好逐一排除警告
gEp哈希力量 | 智能的力量

第二步:排除错误或警告

执行完.configure之后会报错,错误信息提示需要4.8版本的DB,在这里跳过DB版本检测
gEp哈希力量 | 智能的力量

./configure –with-incompatible-bdb
gEp哈希力量 | 智能的力量

跳过DB版本检测,就不会再报错,但是还有一些警告
gEp哈希力量 | 智能的力量

如果是warning:libevent not found,gEp哈希力量 | 智能的力量

gEp哈希力量 | 智能的力量

sudo apt-get install libevent-devgEp哈希力量 | 智能的力量

后重新执行gEp哈希力量 | 智能的力量

./configure –with-incompatible-bdbgEp哈希力量 | 智能的力量


gEp哈希力量 | 智能的力量

如果是warning: zmq找不到大于4的版本
gEp哈希力量 | 智能的力量


gEp哈希力量 | 智能的力量

sudo apt-get install libzmq-devgEp哈希力量 | 智能的力量


gEp哈希力量 | 智能的力量

如果warning:缺少qt所需的依赖
gEp哈希力量 | 智能的力量

gEp哈希力量 | 智能的力量

sudo apt-get install libqt4-dev
gEp哈希力量 | 智能的力量

依次类推,缺什么就装什么。gEp哈希力量 | 智能的力量

第三步、编译安装

sudo make
gEp哈希力量 | 智能的力量

sudo make installgEp哈希力量 | 智能的力量

我用的是笔记本,整个编译过程大概要15分钟,请耐心等待。gEp哈希力量 | 智能的力量


gEp哈希力量 | 智能的力量

五、运行客户端

bitcoin-qt
gEp哈希力量 | 智能的力量


gEp哈希力量 | 智能的力量

一旦打开客户端,就会提示需要同步接近48万块区块数据,硬盘空间小,只能另寻出路。gEp哈希力量 | 智能的力量

试了一下测试网络gEp哈希力量 | 智能的力量

bitcoin-qt -testnet
gEp哈希力量 | 智能的力量


gEp哈希力量 | 智能的力量

从上图可知,运行测试网络仍然需要同步区块数据,但是同步的是区块头数据。gEp哈希力量 | 智能的力量

好了,比特币源码编译和安装环境搭建先讲到这里。gEp哈希力量 | 智能的力量


gEp哈希力量 | 智能的力量

以下是我编译过程中参考的博客,感谢博主。gEp哈希力量 | 智能的力量

http://blog.csdn.net/huangmx1995/article/details/60140062
gEp哈希力量 | 智能的力量


gEp哈希力量 | 智能的力量

区块链研习社比特币源码研读班 钟晓宏
gEp哈希力量 | 智能的力量