区块链学习笔记(零)Bitcoin开发环境的搭建
2016-11-08 00:44
465 查看
预备事项
安装过程中,所有的路径使用绝对路径。本次安装使用环境,Ubuntu 16.04 LTS。
环境依赖
必须依赖库依赖库 | 目的 | 说明 |
---|---|---|
libssl | Crypto | 随机数生成,椭圆曲线加密 |
libboost | Utility | 线程、数据结构 |
libevent | Networking | 独立于操作系统的异步网络 |
依赖库 | 目的 | 说明 |
---|---|---|
miniupnpc | UPnP Support | 防火墙穿越支持 |
libdb4.8 | Berkeley DB | 钱包存储 (only needed when wallet enabled) |
qt | GUI | GUI toolkit (only needed when GUI enabled) |
protobuf | Payments in GUI | 支付协议中的数据交换格式(only needed when GUI enabled) |
libqrencode | QR codes in GUI | 生成QR码(二维码)(only needed when GUI enabled) |
univalue | Utility | JSON解析与生成 (bundled version will be used unless –with-system-univalue passed to configure) |
libzmq3 | ZMQ notification | 生成zmq消息(ZMQ,ZeroMQ,消息队列)(requires ZMQ version >= 4.x) |
C++编译器比较消耗内存,官方建议编译Bitcoin Core时至少有1.5GB内存。对不能达到的系统,
gcc可以用附加的
CXXFLAGS设置为节省内存:
./configure CXXFLAGS="--param ggc-min-expand=1 --param ggc-min-heapsize=32768"
编译基础环境安装
由于要用到apt安装,先确保自己的apt源可用,速度正常,运行apt-get update
编译环境
sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils
亲测结果:在阿里云的apt源下,应该很快安装完毕。
Boost库
在Ubuntu 14+和 Debian 7+系统中,有单个开发包的通用名字,所以可以只安装所需的安装包
sudo apt-get install libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev
如果不成功,则可以安装所有boost 开发包。
sudo apt-get install libboost-all-dev
在阿里云的apt源下面应该可以用第一种方法安装指定的开发包。
BerkeleyDB的安装
BitCoin钱包需要BerkeleyDB的支持,关于BerkeleyDB可以参考官网、 百科
[注意],BitCoin需要Berkeley DB 4.8版本来保持钱包的兼容性,官方Ubuntu和Debian提供的Berkeley DB是5.1+版本的,这个高版本会确定打破其兼容性;此处有两种选择,一是不需要保持兼容性,在编译时增加配置
--with-incompatible-bdb即可,二是保持兼容性,安装Berkeley DB 4.8,需要添加PPA,关于PPA是Ubuntu中非官方的不稳定包的更新,使用的话需要小心,其减少可以参考此处,这个地方要用到的是这个地方的PPA来安装所需要的Berkeley DB 4.8here 。
访问页面,按照其说明逐步添加,然后安装
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
在第二行,添加PPA源后,注意与上述页面对比其获取到的公钥(public key)
安装包下载速度会比阿里云的慢一点,耐心等待。
可选项
l
4000
ibminiupnpc
sudo apt-get install libminiupnpc-dev
ZMQ denpendencies
sudo apt-get install libzmq3-dev
GUI依赖项
如果需要编译bitcoin-qt,则需要安装qt开发环境,qt4和qt5都是可以的,如果两者都安装了,则默认使用qt5,也可以在配置时,使用
--with-gui=qt4来进行选择使用qt4版本,或者使用
--without-gui来选择不编译gui。
qt5的安装方法
sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler
qt4的安装方法
sudo apt-get install libqt4-dev libprotobuf-dev protobuf-compiler
libqrencode
libqrendoce 是qr码(二维码)的支持模块,可选安装
sudo apt-get install libqrencode-dev
如果这些环境包被安装,则会被
configure检测到,bitcoin-qt会默认编译生成。
编译生成
好像目前为止就可以编译撸起来了。。。。试一下, optional表示可选项,后面再集中解释吧。./autogen.sh ./configure make make install # optional
./configure
check 了一堆东西,主要是检测你的基础环境是否安装到位了,不报错就OK。
make&&
make install
这就不用解释了吧。步骤简单,但是最好时间,
make跑了20多分钟,有10多个
warning吧,不过没
error就好。
make比较快。最后的结果如图所示:
运行
编译完成之后,你可以看见Bitcoin的常用命令都已经在shell里面可以直接敲出来,运行了,包括qt的图形界面。相关文章推荐
- 区块链学习笔记(一)Ethereum-Go开发环境搭建
- React Native 学习笔记二(React Native开发环境的搭建for mac)
- Spring学习笔记02---搭建开发环境
- ios学习笔记(一)Windows7上使用VMWare搭建iPhone开发环境
- Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境(一)
- Spring 学习笔记2 Spring开发环境搭建
- Hibernate学习笔记 搭建开发环境
- Java Web 学习笔记(一) Java Web 开发环境搭建
- 微信小程序学习笔记1——开发环境搭建
- python 学习笔记之一开发环境搭建
- ios学习笔记(一)Windows7上使用VMWare搭建iPhone开发环境
- 【Android平台】 Alljoyn学习笔记三 开发环境的搭建和Building AllJoyn from Source for Android
- C++ 学习笔记之一:开发环境搭建(Eclipse+minGW)
- 老邓的andorid学习笔记-Android 4.0 开发环境搭建
- [linux学习笔记] 使用fedora20搭建开发环境
- C语言学习笔记(1):搭建开发环境
- XMPP协议学习笔记六(搭建Tigase开发环境)
- 学习笔记2-安卓开发环境搭建、创建虚拟机
- 学习笔记2-安卓开发环境搭建、创建虚拟机
- PCL学习笔记(1) win8 64bit系统 + VS208——搭建PCL开发环境