主页 > 怎么退出imtoken钱包 > 白话区块链13- 比特币源码编译上手

白话区块链13- 比特币源码编译上手

怎么退出imtoken钱包 2023-08-16 05:09:54

1)第一个命令是安装git命令工具。 这个git工具是用来从github上下载源码的。 其实使用git工具不仅可以下载源码,还可以在机器上创建自己的版本库;

2)第二条命令是在当前用户目录下创建一个文件夹,用来存放要下载的比特币源代码。 读者在进行具体操作时可以自行决定路径和文件夹名称;

3)第三条命令是从GitHub上下载比特币源码到创建的bitcoinsource目录下。 这里有个问题需要注意。 如果在git clone过程中终止,再次执行clone时会报错。 一般会有这样的提示:

git clone: GnuTLS recv error(-9): 收到了一个长度意外的 TLS 数据包

出现这个错误的原因是git clone不支持间歇下载。 删除目录后,创建一个新目录,然后克隆。

除了上面提到的git clone命令方法,其实我们可以直接在GitHub上下载源码压缩包。 下载的文件名一般是bitcoin-master.zip,然后解压:

解压 bitcoin-master.zip

解压后,将当前工作目录cd到bitcoin-master,即可开始编译。

3.安装依赖库

工欲善其事,必先利其器。 比特币源代码中使用了很多第三方函数库。 这些都是必要的依赖项。 俗话说,英雄三帮,篱笆三桩。 没有这些,你可以自由方便地使用所用的库,用C++开发比特币软件要复杂得多。

比如下面三行命令,主要是安装C++编译器和make工具:

sudo apt-get 安装 make

sudo apt-get 安装 gcc

sudo apt-get 安装 g++

比如下面的命令主要是安装依赖库:

sudo apt-get install build-essential

sudo apt-get 安装 libtool

sudo apt-get install autotools-dev

sudo apt-get install autoconf

sudo apt-get install pkg-config

sudo apt-get 安装 libssl-dev

sudo apt-get 安装 libevent-dev

sudo apt-get 安装 libboost-all-dev

sudo apt-get 安装 libminiupnpc-dev

sudo apt-get 安装 libqt4-dev

sudo apt-get 安装 libprotobuf-de

sudo apt-get install protobuf-compiler

sudo apt-get 安装 libqrencode-dev

libevent-dev 是一个实现网络通信功能的网络库; libssl-dev是一个密码算法库,提供随机数生成、椭圆曲线密码算法等功能; libboost-all-dev是一个C++工具库,提供了各种C++调用的基本函数库,比如多线程调用和一些有用的数据结构等; libqt4-dev是一个跨平台的C++库,用于实现跨平台运行的软件接口; 以及其他等等,都在比特币源代码中,需要使用的函数依赖于库。 值得一提的是,这些依赖库也是开源的,也就是说,不仅比特币源代码本身是免费开源的,而且使用的其他依赖库也是免费开源的,方便了那些谁想要更新比特币源代码。 深入研究的朋友可以细细品味每一个实现细节,尽情学习研究。

这两行命令主要是安装比特币需要的数据存储驱动。 使用的类型是 Berkeley DB比特币源码修改,它是一个开源文件数据库。 至此,万事俱备,需要准备的材料也都准备好了。

sudo apt-get 安装 libdb-dev

sudo apt-get 安装 libdb++-dev

4.编译准备

这两步是使用make工具进行编译的准备工作。

./autogen.sh

。/配置

需要注意的是,在执行./configure时,可能会看到这样的提示,如下:

配置:错误:发现 Berkeley DB 不是 4.8,便携式钱包需要(--with-incompatible-bdb 忽略或--disable-wallet 禁用钱包功能)

提示是执行configure命令时的问题。 这可能意味着Berkeldy DB的版本高于4.8。 当我们安装 BerkeleyDB 时,该命令下载并安装了最新版本。 这实际上只是一个警告,没有任何作用。 提示中也给出了解决方法,只需要在configure命令后加一个参数--with-incompatible-bdb即可。

./configure --with-incompatible-bdb

执行完成后,接下来的工作就简单了,直接用make编译安装即可。

5.编译安装

制作

须藤安装

执行完成后,你就大功告成了。 接下来,我们可以运行比特币客户端程序。 我们可以尝试运行一个带有界面的程序。 经过这一步,在源代码目录src/qt/下生成了一个可执行程序,同时安装到/usr/local/bin目录下。

6. 运行测试

输入以下命令:

比特币-qt

激动人心的时刻来了! 我们可以看到显示了Bitcoin的界面,当然我们也可以尝试运行bitcoind程序。 至此,在Ubuntu操作系统上编译比特币源码就结束了。 限于篇幅,在Mac、Windows等其他操作系统上的编译过程不再赘述。 如果读者有兴趣,也可以参考比特币源码中doc文件夹下的build-osx.md和build-windows。 md的文件说明是分别在Windws和MacOS系统上尝试编译。

7.使用IDE管理源码

按理说这里没什么好说的,编译完成,可以运行了,不过你是不是觉得不是很爽? 对了,缺少IDE(Integrated Development Environment,集成开发管理)。 这么多文件,很难用文本编辑器一个一个阅读。 好的,那我们就安装一个IDE工具来管理这些源代码。 比特币系统使用C++开发,图形界面部分使用qt组件。 然后选择 QtCreator。 它也是开源和跨平台的。 编译器支持也很好。 由于上面的源码编译是在Ubuntu下进行的,所以我们还是在Ubuntu下进行安装和设置,下面就按照步骤一步一步来讲解吧。

(一)准备QtCreator

可以直接从QtCreator官网下载。 Qt分为商业版和开源版。 我们可以使用开源版本。 下载后我们会得到一个文件qt-opensource-linux-x64-5.6.2.run。 您可以选择在线安装版本和离线安装版本。 这里下载的是离线安装版。 进入文件所在目录,执行以下命令

chmod +x qt-opensource-linux-x64-5.6.2.run

./qt-opensource-linux-x64-5.6.2.run

第一行命令是给安装文件一个执行权限。

第二行命令是执行安装。

安装完成后,可以打开QtCreator,看到如下界面

比特币源码_比特币源码修改_比特币源码讲解

(2)导入源码工程

在QtCreator的菜单栏中,点击“文件”→“新建文件或项目”,弹出向导窗口,选择导入项目,在右侧选择“导入现有项目”,如下图。

比特币源码_比特币源码讲解_比特币源码修改

接下来就是选择我们的比特币源代码所在的目录,也就是需要导入的项目。

比特币源码_比特币源码讲解_比特币源码修改

图中的“Project Name”可以任意命名,“Location”为比特币源代码所在目录。 完成选择后继续。

比特币源码_比特币源码讲解_比特币源码修改

该界面主要用于选择一个源代码版本控制系统,可以根据自己的需要进行选择。 这只是一个演示比特币源码修改,所以你可以不做选择直接完成操作。 源码导入后,在QtCreator中显示如下

比特币源码修改_比特币源码讲解_比特币源码

可以看到左侧已经列出了源代码文件列表,所有的代码文件都在src目录下。 可以看出,根据不同的代码功能划分了不同的目录,具体细节这里不再赘述。 . 这个时候可以运行试试,点击运行按钮,砰的一声,这是怎么回事,弹出什么?

比特币源码讲解_比特币源码_比特币源码修改

这个是选择一个执行程序,比如bitcoin-qt,bitcoind等,我们通过这个对话框选择bitcoin-qt,如下图

比特币源码_比特币源码讲解_比特币源码修改

注意这里选择的执行程序是在src/qt/目录下的,这个目录下的执行程序是直接编译源码生成的。

选择好后点击运行,可以看到熟悉的界面又出来了,那我们就用QtCreator来管理比特币的源码吧。 通过IDE工具查看源码就方便多了,有兴趣的朋友也可以尝试修改。 接口文件或源代码文件,体验编译调试的乐趣。

暗示:

① 我们使用QtCreator导入的源码目录之前已经经过一系列步骤编译好了,所以依赖库已经有了,执行程序也已经生成了。 QtCreator 就像一个 shell,只是做一个导入集成。

② 比特币是一个一直在发展的开源项目。 按照以上步骤操作时,一定要注意选择的版本是否一致或兼容。 本文选用的操作系统为Ubuntu16.04 LTS桌面版。 比特币源代码版本为v0.14,使用的QtCreator为4.0.3。

文章前面给出的《白话区块链》系列文章1-12的链接;

2019-10-28, ""

2019-11-07, ""

2019-12-02, ""