因为一直比较熟悉Windows平台的开发,本来打算在windows下进行编译,但查了一些文章,发现还是在linux下编译成本最低,所以这里就以手头现有的Centos7环境进行代码编译。
 
一、代码获取
获取到代码后,结合一些文章,发现是基于C++进行开发的,这让我欣喜不已。作为一个有着七八年C++开发经验的老程序员来说,在这里遇到了熟悉的C++,就好比遇到了老朋友。还以为在遍地移动开发的今天,C++已是昨日黄花,没想到居然以一个意想不到的姿态出现在自己眼前,出息大了。。
二、编译环境
官方文件https://github.com/bitcoin/bitcoin/blob/master/doc/build-unix.md中有详细的编译和依赖说明
安装相关依赖
yum install -y boost-devel qt-devel protobuf-devel qrencode-devel libevent-devel libtool openssl-devel
安装libdb(这个地址需要账号登录,然后从浏览器的下载链接中获取到你自己可用的下载链接)
 
tar -xzf db-6.2.32.NC.tar.gz
cd db-5.1.29.NC/build_unix/
../dist/configure --enable-cxx --disable-shared --with-pic --prefix=/usr/local
make install
 
三、编译
进入到bitcoin源代码根目录下
1、./autogen.sh   生成configure文件
2、因为前面libdb安装的是6.2版本,所以./configure时添加 --with-incompatible-bdb忽略libdb版本差异
./configure --with-incompatible-bdb
./configure -with-gui  configure命令带-with-gui说明我需要带界面的客户端。如果不需要可以用-without-gui。
3、make
     make install# optional
 
四、编译结果
编译完成后在/usr/local/bin目录下会生成7个可执行文件
 
bench_bitcoin:根据https://github.com/bitcoin/bitcoin/issues/829 解释,作用是编译系统更新,也就是检查系统使用的一些加密算法是否有新的更新。
bitcoin-cli:是Bitcoind的一个功能完备的RPC客户端,包括查询区块,交易信息等等,具体将在相应章节介绍。
bitcoind:是比特币运行的核心程序俗称bitcoin core。
bitcoin-qt:比特币钱包。
bitcoin-tx:比特币交易处理模块,支持交易的查询和创建。
test_bitcoin:运行各个模块的测试代码。
test_bitcoin-qt:运行钱包的模块测试代码。
 

基于Centos7的比特币源码编译的更多相关文章

  1. centos7下比特币源码编译安装

    今天我们介绍比特币的源码安装过程,是利用编译安装的 首先安装依赖 1 yum install -y boost-devel qt-devel protobuf-devel qrencode-devel ...

  2. 001_centos7下比特币源码编译安装

    今天我们介绍比特币的源码安装过程,是利用编译安装的 首先安装依赖 yum install -y boost-devel qt-devel protobuf-devel qrencode-devel l ...

  3. 在CentOS7上从源码编译安装redis,并做成服务程序

    1.安装编译的依赖环境 # 安装pcre开发包: yum install -y pcre-devel # 安装ssl功能需要openssl库 yum -y install openssl-devel ...

  4. CentOS7.6源码编译安装PHP 7.3.8

    安装步骤 PHP官网下载链接:https://www.php.net/downloads.php 1. 使用wget命令下载源码安装包 wget https://www.php.net/distrib ...

  5. centos7源码编译安装lamp/lnmp

    centos7源码编译安装lamp/lnmp 进程:是包工头(相当于是个门,只管开门关门,不管门内的事儿) 线程:是各种工种(cpu调度的是线程) 进程 是一件事情, 线程 是 同一个时间范围内 同时 ...

  6. Centos7.X 源码编译安装subversion svn1.8.x

    说明:SVN(subversion)的运行方式有两种:一种是基于Apache的http.https网页访问形式:还有一种是基于svnserve的独立服务器模式.SVN的数据存储方式也有两种:一种是在B ...

  7. 源码编译安装LAMP环境及配置基于域名访问的多虚拟主机

    实验环境及软件版本: CentOS版本: 6.6(2.6.32.-504.el6.x86_64) apache版本: apache2.2.27 mysql版本:  Mysql-5.6.23 php版本 ...

  8. 基于cdh5.10.x hadoop版本的apache源码编译安装spark

    参考文档:http://spark.apache.org/docs/1.6.0/building-spark.html spark安装需要选择源码编译方式进行安装部署,cdh5.10.0提供默认的二进 ...

  9. 基于源码编译安装openssh

     最近的,openssl/openssh等相继漏洞的暴露,让暴露在公网的linux.沦陷为肉鸡的正营... 没办法,还是升级版本... 00.openssh简介 OpenSSH 是一组安全远程的连接工 ...

随机推荐

  1. lambda 形参:返回值 lambda 匿名函数 格式:

    lambda 匿名函数 格式: lambda 形参:返回值 e.g f = lambda n:n**2 print(f(10))

  2. div内容过长自动省略号

    <div class="tits" style="width:900px;">${item.note}</div>        //自 ...

  3. JQuery Mobile+JS实现智能浮动定位导航条

    实现原理 主要用到几个知识点: 什么是scrollTop? CSS position定位 判断是否为IE6浏览器 元素相对于窗口的距离 原理:1,浏览器向下滚动时,当document的scrollTo ...

  4. Linux系统 开通防火墙端口

    Redhat 7内核 Linux系统  开通防火墙端口 使用systemctl 1.查看防火墙状态,root用户登录,执行命令systemctl status firewalld 2.开启防火墙:sy ...

  5. [SDOI2009]HH的项链(莫队)

    嘟嘟嘟 这题原本莫队能过,自从某谷加强数据后好像就只能80了. 但这并不重要. (其实写这篇博客只是想记录一下莫队板子) 莫队,总而言之,离线,排序,暴力. #include<cstdio> ...

  6. PHP学习笔记一:谁动了你的mail(),PHP?

    PHP编写邮件发送的函数时候,会出现一个很奇怪的问题,那就是: Warning: mail(): Failed to connect to mailserver at "localhost& ...

  7. unittest中setUp与setUpClass执行顺序

    最基础的概念 1.setUP(self)看下面的执行顺序 import unittest class TestGo(unittest.TestCase): def setUp(self): print ...

  8. 将本地项目托管到github 并预览

    本地文件上传到github的步骤 1.先在github上建立一个仓库 2.将此仓库download 3.在此文件夹中git bash here 4.进行如下git操作 git git init git ...

  9. Python学习笔记系列——高阶函数(map/reduce)

    一.map #变量可以指向函数,函数的参数能接受变量,那么一个函数就可以接受另一个函数作为参数,这种函数被称之为高阶函数 def add(x,y,f): return f(x)+f(y) print( ...

  10. POJ 2251 Dungeon Master(多层地图找最短路 经典bfs,6个方向)

    Dungeon Master Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 48380   Accepted: 18252 ...