主页 > 华为手机怎么安装不了imtoken > 比特币源码解读-第一章

比特币源码解读-第一章

2021-05-21一、路在哪里

本章将从比特币源码开始,逐步分析项目结构、源码结构、入口点等关键信息。了解比特币源码的逻辑结构,掌握大数据分析方法源代码。路在哪里,路在脚下。

1.1自述文件1.1.1项目结构分析

千里之行始于足下,良好的开端是成功的一半。要拿到源代码,我们首先需要了解代码的整体结构,掌握比特币项目的整体布局。比特币-0.1.0的代码结构如下:

比特币源码解读-第1章

Ø src:源代码文件夹

Ø bitcoin.exe:比特币钱包客户端运行程序

比特币项目开源代码

Ø libeay32.dll:openssl动态链接库

Ømingwm10.dll:mingw动态链接库

Ø license.txt:版本说明

Ø readme.txt:软件说明

通过对整体代码结构的分析比特币项目开源代码,我们初步可以得出以下结论:

(1)比特币使用openssl密码库(libeay32.dll)

比特币项目开源代码

(2)中本聪编译bitcoin.exe中使用的可执行程序MinGW编译器(mingwm10.dll)

(3)此版本为测试版(ALPHA版),可在Windows系统上运行,绑定端口为8333(readme.txt)

(4)可以使用生成硬币选项解决难题比特币项目开源代码,成功解决难题将创建一个新块并获得比特币支付(readme.txt)

1.1.2 源码结构分析

src 包含编译比特币客户端所需的头文件、源文件、资源文件等。在 src 文件结构如下:

比特币源码解读-第1章

比特币项目开源代码

比特币源码解读-第1章

源码层面的分析从描述文件readme.txt开始。作为描述文件,readme为我们提供了很多分析比特币源码的有用信息。通过阅读readme文件,我们可以得到如下信息:

(1) 用于编译源代码的IDE是Microsoft Visual C++ 6.0;编译器是MinGW

比特币源码解读-第1章

(2)编译过程应用了四个外部依赖:Openssl、wxWidgets、Berkeley DB、Boost

比特币源码解读-第1章

比特币项目开源代码

(3)四个库文件的版本信息和编译方法

比特币源码解读-第1章

1.2 比特币钱包切入点分析

在src目录下,我们可以直观的看到编译比特币源码的所有文件。这些包括熟悉的源文件,例如头文件(.h 文件)、源文件(.cpp 文件)。但是,我们也不知道 uiproject.fbp 文件的格式和功能。通过查阅资料,确定fbp文件为wxFormBuilder项目文件,实现了比特币钱包的UI设计。

比特币源码解读-第1章

wxFormBuilder是一款基于wxWidgets的UI设计快速开发工具。 wxFormbuilder 只能设计布局,事件只能关联一个名字。需要继承名称,然后编写相关代码来实现具体的业务逻辑。

比特币项目开源代码

安装 wxFormBuilder 并打开 uiproject.fbp 文件。可以看到比特币钱包的整体UI设计。

比特币源码解读-第1章

在比特币钱包项目中,界面的UI设计由wxFormBuilder生成并保存在uibase.cpp和uibase.h文件中;业务层逻辑在 ui .cpp 和 ui.h 文件中实现。在ui.cpp中,通过继承wxApp类(wxWidgets库中的APP基类)定义比特币钱包程序CMyApp,通过IMPLEMENT_APP(CMyApp)启动比特币钱包程序。

比特币源码解读-第1章

分类:

技术要点:

相关文章: