本文安装编译的环境:
- 阿里云 Ubuntu 16.04 64位 镜像
- 比特币核心版本 0.16.0
- 内存2G以上
- 磁盘空间150G以上
- 安装目录 /root
安装步骤:
1、安装依赖
sudo apt-get update sudo apt-get upgrade sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev sudo apt-get install libboost-all-dev sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler sudo apt-get install libqrencode-dev sudo apt-get install libminiupnpc-dev sudo apt-get install libsll-dev
2、安装git
sudo apt-get install git
3、下载比特币源码
git clone https://github.com/bitcoin/bitcoin.git
4、安装berkeley-db(伯克利 数据库)
Berkeley DB是一个开源的文件数据库,介于关系数据库与内存数据库之间,使用方式与内存数据库类似,它提供的是一系列直接访问数据库的函数,而不是像关系数据库那样需要网络通讯、SQL解析等步骤。
在bitcoin目录下建立文件夹db4:
cd bitcoin mkdir db4 wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.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=/root/bitcoin/db4/ make install
5、安装比特币客户端
cd /root/bitcoin ./autogen.sh ./configure LDFLAGS="-L/root/bitcoin/db4/lib/" CPPFLAGS="-I/root/bitcoin/db4/include/" make sudo make install
6、测试安装结果
根据《精通比特币》第3章介绍的,我们可以通过询问系统下面2个可执行文件的路径,来确认bitcoin是否安装成功。
root@iZ2zef7i92a07a9z7ydxdcZ:~/bitcoin# which bitcoind /usr/local/bin/bitcoind root@iZ2zef7i92a07a9z7ydxdcZ:~/bitcoin# which bitcoin-cli /usr/local/bin/bitcoin-cli
总结:
安装依赖不是一件很容易的事情,其中可能会遇到不少问题,需要根据报错的内容去寻找解决方案。这是均益根据网上的内容,在当时环境下整理出的可行方法,希望对你有用。
比特币的依赖对照表
Dependency | Version used | Minimum required | CVEs | Shared | Bundled Qt library |
---|---|---|---|---|---|
Berkeley DB | 4.8.30 | 4.8.x | No | ||
Boost | 1.64.0 | 1.47.0 | No | ||
Clang | 3.3+ (C++11 support) | ||||
D-Bus | 1.10.18 | No | Yes | ||
Expat | 2.2.5 | No | Yes | ||
fontconfig | 2.12.1 | No | Yes | ||
FreeType | 2.7.1 | No | |||
GCC | 4.8+ | ||||
HarfBuzz-NG | |||||
libevent | 2.1.8-stable | 2.0.22 | No | ||
libjpeg | Yes | ||||
libpng | Yes | ||||
MiniUPnPc | 2.0.20180203 | No | |||
OpenSSL | 1.0.1k | Yes | |||
PCRE | Yes | ||||
protobuf | 2.6.3 | No | |||
Python (tests) | 3.4 | ||||
qrencode | 3.4.4 | No | |||
Qt | 5.7.1 | 4.7+ | No | ||
XCB | Yes (Linux only) | ||||
xkbcommon | Yes (Linux only) | ||||
ZeroMQ | 4.2.3 | No | |||
zlib | 1.2.11 | No |
参考链接
https://github.com/bitcoin/bitcoin/blob/master/doc/build-unix.md
https://github.com/bitcoin/bitcoin/blob/master/doc/dependencies.md
https://www.jianshu.com/p/0d3a32a0a973