Ubuntu搭建Bitcoin源码阅读环境
这是区块链系列的开篇文章,随后会陆续写一些blog。
看了两本区块链的书,有了一些初步的了解,最近打算实践下,就想着先弄个读代码的环境,本以为挺简单但也折腾了好久,所以就打算备注下。
两本区块链相关的书分别是区块链开发指南和精通比特币,随后会写些读后感
虽然网上也有很多相关的文章但大都比较笼统或者记录的比较含糊,导致像我这样的新手得花大量的时间去摸索去踩坑。下面就开始流水账了。。。
build bitcoin
- 从github上clone源码,
git clone https://github.com/bitcoin/bitcoin.git
- clone到本地的代码是最新的代码也就是master分支上的,前人一般都推荐阅读0.12版本的代码,所以在build代码之前要切换下tag,命令
git checkout v0.12.0
选择tag为v0.12.0进行build之后,在qt文件中并不出会出现bitcoin-qt这个文件,随后切换到branch为remotes/origin/0.12的版本进行build成功出现,所以这里应该切换的代码版本是
git checkout remotes/origin/0.12
- 按照代码目录doc文件中build相关的文件(build-*.md)中介绍的步骤进行build
我用的系统是ubuntu-14.04-desktop-amd64.iso
按照build-unix.md中的步骤去build代码,build之前需要安装一些依赖的软件,如下
1 | sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils |
OK,依赖的lib基本安装结束了,可以执行build命令了
1 | # 在bitcoin源码根目录下 |
上述命令不出错就说明build成功了,可以运行代码了。
build成功之后会出现6个可执行文件,分别为bitcoin-cli、bitcoind、bitcoin-tx、bitcoin-qt和两个test文件test_bitcoin、test_bitcoin-qt
此时你就想如果有个IDE就好了,我就可以Debug代码了。那我们就安装个吧,IDE一般用QT Creator,因为比特币钱包是用这个开发的。
IDE踩坑
关于QT Creator比较坑,完全是一脸的懵逼呀,只知道这个是跨平台的,Linux下开发c++用这个,还可以用来开发界面。一开始安装了个_4.6_版本的,将bitcoin导入后就不知道要干啥了,于是就想着新建个c++的demo项目熟悉下这个IDE吧,当我在创建c++项目的时候就真的懵逼了,完全不知道怎么回事,具体就不在这丢人了。
懵逼就只好各种google了,看到一篇文章说QT Creator要结合QT来使用,原来QT和QT Creator不是一个东西,我一直以为QT是QT Creator的简称。。。。
下载了QT 4.8.1 qt-everywhere-opensource-src-4.8.1.tar.gz,不过在Linux下是源码包,不是安装包,得需要进行编译安装。
解压进入目录之后执行
1 | ./configure |
安装成功之后需要配置环境变量
1 | PATH=/usr/local/Trolltech/Qt-%VERSION%/bin:$PATH |
QT准备就绪之后再次打开QT Creator还是不知道怎么创建c++程序,不知道怎么运行,又是一通google,一些文章中的IDE和我的界面有所不同,C++的教程也比较少。
搜了很多文章虽然没有明确的教程单对QT Creator有了更新的认识,就只能使出杀手锏–换IDE的版本,从新下载了个2.8的版本,再次打开IDE,瞬间感觉春天来了,2.8.1的界面是这样的
C++ Demo
新建项目和大多IDE步骤类似,点击 File -> New File or Project,然后出现如下页面:
安装图中的选项进行选择就ok,接下来进行第二步
选择项目名称和存放的目录,继续Next
这里不能使用默认生成的目录,会有问题,需要将目录改成常规目录名,如下图:
继续Next,这里选下版本管理工具,随性来就好
点击Finish,就可以进入项目界面,查看编辑新建的项目了:
IDE默认会生成一个Hello World的文件,点击运行看下效果
QT Creator运行Bitcoin
将bitcoin导入IDE并运行bitcoin钱包。
点击 File -> New File or Project,选择Import project中的Import Existing Project,如下图:
点击Choose,选择源码所在目录,我的目录信息如下:
继续Next,默认Next就好,界面如图:
还有一步Summary,主要选下版本管理工具,点击Finish就导入成功了。
导入成功之后,首先运行个bitcoin-qt验证下,
点击IDE左侧的Project按钮,在Desktop选项中点击run标签,如下图:
配好之后点击运行就会出现钱包页面,如图:
附加
有人比较悲催的话,并没有顺利执行成功,可能Kits有问题,Kits是在_编辑文件目录_中选择的_Desktop_,我的Desktop的配置如图:
最后祝大家六一快乐。。。。