美文网首页
3比特币客户端

3比特币客户端

作者: 冉冉升起的沙丁鱼 | 来源:发表于2018-06-15 15:51 被阅读12次

    区块链学习笔记(零)Bitcoin开发环境的搭建

    https://blog.csdn.net/guokaikevin/article/details/53075604

     2016年11月08日 00:44:41

    阅读数:2593

    预备事项

    安装过程中,所有的路径使用绝对路径。

    本次安装使用环境,Ubuntu 16.04 LTS。

    环境依赖

    必须依赖库

    依赖库目的说明

    libsslCrypto随机数生成,椭圆曲线加密

    libboostUtility线程、数据结构

    libeventNetworking独立于操作系统的异步网络

    可选依赖

    依赖库目的说明

    miniupnpcUPnP Support防火墙穿越支持

    libdb4.8Berkeley DB钱包存储 (only needed when wallet enabled)

    qtGUIGUI toolkit (only needed when GUI enabled)

    protobufPayments in GUI支付协议中的数据交换格式(only needed when GUI enabled)

    libqrencodeQR codes in GUI生成QR码(二维码)(only needed when GUI enabled)

    univalueUtilityJSON解析与生成 (bundled version will be used unless –with-system-univalue passed to configure)

    libzmq3ZMQ 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 。 

    访问页面,按照其说明逐步添加,然后安装

    1 sudo apt-get install software-properties-common

    2 sudo add-apt-repository ppa:bitcoin/bitcoin

    3 sudo apt-get update

    4 sudo apt-get install libdb4.8-dev libdb4.8++-dev

    在第二行,添加PPA源后,注意与上述页面对比其获取到的公钥(public key)

    安装包下载速度会比阿里云的慢一点,耐心等待。

    可选项

    libminiupnpc 

    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表示可选项,后面再集中解释吧。

    1 ./autogen.sh.

    2 /configure

    3 make

    4 makeinstall# optional

    ./configure 

    check 了一堆东西,主要是检测你的基础环境是否安装到位了,不报错就OK。

    make && make install 

    这就不用解释了吧。步骤简单,但是最好时间,make跑了20多分钟,有10多个warning吧,不过没error就好。 

    make比较快。最后的结果如图所示: 

    运行

    编译完成之后,你可以看见Bitcoin的常用命令都已经在shell里面可以直接敲出来,运行了,包括qt的图形界面。 

    我自己是在Ubuntu 16.04上编译的,用的./configure  --with-gui=qt4 来编译的,默认使用Qt5的时候会出现编译错误。

    相关文章

      网友评论

          本文标题:3比特币客户端

          本文链接:https://www.haomeiwen.com/subject/zhbreftx.html