位置:芙蓉财经网 >> 股市评论

比特币在线钱包(ubuntu下从源码编译安装比特币钱包节点(Bitcoin))

日期:2023年05月16日 09:16 浏览量:4

比特币 (货币符号: ฿;英文名:Bitcoin;英文缩写: BTC),是一种用于开源的P2P软件而产生的电子货币。比特币全局图是这样的:

ubuntu下从源码编译安装比特币钱包节点(Bitcoin)

在这儿主要介绍Linux下的比特币Bitcoin安装,我们选择ubuntu 18.04的环境。

安装依赖

在ubuntu下安装bitcoin的方法,在网上找到了这篇文章,经过我测试,可以正常安装和编译bitcon的源码。转来和大家分享一下。其实还是在linux下进行编译代码要方便很多。 在编译之前可能要先安装一些工具

必须依赖库

依赖库目的说明libsslCrypto随机数生成,椭圆曲线加密libboostUtility线程、数据结构libeventNetworking独立于操作系统的异步网络

可选依赖

依赖库目的说明miniupnpcUPnP Support防火墙穿越支持libdb4.8Berkeley DB钱包存储 (only needed when wallet enabled)qtGUI GUItoolkit (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-get install makeapt-get install gccapt-get install g++apt-get install libdb-dev(libdb5.1-dev)apt-get install libdb++-dev(libdb++-dev libdb5.1++ libdb5.1++-dev)apt-get install libboost-dev(apt-get install libboost1.37-dev)(apt-get install libboost-all-dev)apt-get install zlib1g-devapt-get install libssl-devapt-get install build-essentialapt-get install libminiupnpc-devapt-get install autoconf

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-commonsudo add-apt-repository ppa:bitcoin/bitcoinsudo apt-get updatesudo apt-get install libdb4.8-dev libdb4.8++-dev

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

可选项

libminiupnpc sudo apt-get install libminiupnpc-devZMQ 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-compilerlibqrencode 

libqrendoce 是qr码(二维码)的支持模块,可选安装 sudo apt-get install libqrencode-dev 如果这些环境包被安装,则会被configure检测到,bitcoin-qt会默认编译生成。

编译生成

好像目前为止就可以编译撸起来了 optional表示可选项,后面再集中解释吧。

./autogen.sh./configuremakemake install # optional./configure 

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

make && make install 

make过程比较长,要耐心等待一下,只要没error就好。

测试是否安装成功

bitcoind --version

想运行前端那执行

bitcoin-qt

服务端是

bitcoind -server –printtoconcole

是否挖矿就看您自己了。以当前时间为起点,连接testnet有9G的blockchain数据需要下载,livesite有35G的数据需要下载。 也可以从这里下载文件,以加快速度。后续会介绍关于比特币的更多内容。有兴趣可以阅读它的源代码。

安装过程中遇到的问题

./configure 运行完这个命令之后,你就可以知道你的系统中都少什么库,下边就是安装缺少的库的方法

If you encounter configure: error: libdb_cxx headers missing 提示少libdb_cxx头,这个时候运行下边令命安装db的C++开发库

 sudo apt-get install libdb5.1++-dev

If you encounter configure: error: Found Berkeley DB other than 4.8, required for portable wallets (–with-incompatible-bdb to ignore), run the following command instead. You can always send your bitcoins to another wallet.

如果提示安装的DB不是4.8的版本,则使用下边的命令跳过DB的版本检测,或者使用上面的方面安装相应库。

./configure --with-incompatible-bdb

If you encounter checking for boostlib >= 1.20.0… configure: We could not detect the boost libraries (version 1.20 or higher). If you have a staged boost library (still not installed) please specify $BOOST_ROOT in your environment and do not give a PATH to –with-boost option. If you are sure you have boost installed, then check your version number looking in . See http://randspringer.de/boost for more documentation.

边的意思是boostlib库的一些问题,如果你用的是一个静态boost库,你要设置环境变量,如果你确定已经安装了boost库,那就看一下自已的库版本是否>=1.20.0。安装boost库可以使用下边的命令

sudo apt-get install libboost-all-dev

推荐阅读

比特币在线钱包(ubuntu下从源码编译安装比特币钱包节点(Bitcoin))
比特币在线钱包(ubuntu下从源码编译安装比特币钱包节点(Bitcoin))文档下载: PDF DOC TXT
文章来源: summer
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至405936398@qq.com 举报,一经查实,本站将立刻删除。
相关资讯
高新盛投资(高盛科技园)
高新盛投资(高盛科技园) 2023-05-16

对不能达到的系统,gcc 可以用附加的CXXFLAGS设置为节省内存:./configure CXXFLAGS=&quo...

招商银行境外额度预约(招商银行境外额度预约提额)
招商银行境外额度预约(招商银行境外额度预约提额) 2023-05-16

对不能达到的系统,gcc 可以用附加的CXXFLAGS设置为节省内存:./configure CXXFLAGS=&quo...

忻州社保卡查询余额(忻州市社保卡查询入口)
忻州社保卡查询余额(忻州市社保卡查询入口) 2023-05-16

对不能达到的系统,gcc 可以用附加的CXXFLAGS设置为节省内存:./configure CXXFLAGS=&quo...

用友 采购入库单自动结算(用友u8采购入库如何自动生成凭证)
用友 采购入库单自动结算(用友u8采购入库如何自动生成凭证) 2023-05-16

对不能达到的系统,gcc 可以用附加的CXXFLAGS设置为节省内存:./configure CXXFLAGS=&quo...

高铁能带充电宝吗(火车能带充电宝吗)
高铁能带充电宝吗(火车能带充电宝吗) 2023-05-16

对不能达到的系统,gcc 可以用附加的CXXFLAGS设置为节省内存:./configure CXXFLAGS=&quo...

四川泸天化股份有限公司官网(四川泸天化化肥怎么样)
四川泸天化股份有限公司官网(四川泸天化化肥怎么样) 2023-05-16

对不能达到的系统,gcc 可以用附加的CXXFLAGS设置为节省内存:./configure CXXFLAGS=&quo...