BCH源码学习笔记 | 第一步:搭建BCH的源码学习环境

区块链技术巴比特2018-07-12 11:07:11  阅读 -评论 0

【关于《BCH源码学习笔记》】

作者按:BCH是BTC的硬分叉币,代码来源于BTC,但是结合BCH的发展目标,很多细节的地方做了调整,比如说BCH的钱包地址编码,挖矿的POW难度调整算法,以及对隔离见证等新特性的支持等等,这些的调整,又让BCH有很多独特的地方。
这是一个系列文章,主要讲述我在学习BCH源码过程中的一些笔记以及心得,希望学习BCH的其他后来者,能够得到一定的借鉴意义。【点击查看《BCH源码学习笔记》完整目录】

第一步:搭建BCH的源码学习环境 一、BCH源码的下载和环境安装

BCH源码是使用C++来实现的,并且托管在GitHub上,大家可以先下载下来,然后按照BCH的文档要求,将环境搭建起来,然后在进行查看,开发和代码贡献。

1.BCH源码的下载
下面是BCH源码的GitHub的托管地址:
https://github.com/Bitcoin-ABC/bitcoin-abc

大家可以通过Git的命令Clone一份到本地,或者直接下载Zip压缩包。

BCH源码学习笔记 | 第一步:搭建BCH的源码学习环境

下载完毕之后,大家可以看到这样一个目录:

BCH源码学习笔记 | 第一步:搭建BCH的源码学习环境

目录说明:

src是存放源代码的目录;
test是存放单元测试的目录;
doc是存放相关文档的目录。

我们先打开doc这个目录。
BCH源码学习笔记 | 第一步:搭建BCH的源码学习环境

在这里面,主要介绍了我们的环境搭建,以及相关的第三方函数库和持续集成环境搭建等文档。我们可以根据自己所处的环境,查阅不同的文档,因为,我是mac环境,所以,我主要查看Build-osx.md这个文件。

2.环境安装(MacOS)

BCH源代码编译环境安装之前,首先要做一些准备工作。

准备工作:

首先要安装Mac上的编码工具Xcode 然后安装OS X的命令行工具:xcode-select –install 然后安装Mac的包管理工具HomeBrew(http://brew.sh)

备注:

Xcode最好安装最新版本,Mac的系统也至少升级到mac OS High Sierra. HomeBrew和centos上的yum,ubuntu上的apt-get是类似的工具。

准备工作做完之后,我们安装编译环境必须要的库,可以通过如下命令安装:

brew install automake berkeley-db libtool boost –c++11 miniupnpc openssl pkg-config protobuf –c++11 qt5 libevent librsvg

然后进入漫长的等待,等安装完毕之后,就可以进行源码的编译的工作了。
首先进入源代码的存放目录,然后依次使用下列命令

./autogen.sh
./configure
make
make install

以上命令执行完毕,就可以启动客户端了bitcoind了,并且可以用bitcoin-cli来进行RPC的调用了。

二、源码分析工具介绍Sublime Text 3

所谓工欲善其事必先利其器,所以,我们选择一门好的源代码查看工具,能够让我们查看代码的效率提升好几倍。

我选择的工具是Sublime Text 3,这是一个非常著名的文本编辑工具,它具有代码高亮、语法提示、自动完成且反应快速,不仅界面美观,还支持插件扩展机制,明智的程序员都用它。

1.Sublime Text 3的安装

Sublime Text 3 的下载地址:
https://www.sublimetext.com/3

大家可以通过上面的Sublime Text 3的下载地址,根据自己的机器的环境,选择不同安装包,进行安装。
BCH源码学习笔记 | 第一步:搭建BCH的源码学习环境

说明:大家安装完毕之后,在使用的时候,会经常得到需要注册的提示,你可以点击取消即可继续进行使用,对工具的使用没有任何影响,但是如果你是土豪,可以对官方支持一下,毕竟没有了供养,这样的优秀的编辑工具也不能存活。

2.Sublime Text 3 的插件安装步骤,以及相关插件推荐

Sublime Text 3 之所以强大,是因为它拥有众多的插件,这些插件可以让你的效率提升,那么我们就来说说Sublime Text 3的插件的安装和使用。

2.1 插件安装

插件安装有2种方式。一种是手动安装,一种是通过Package Control来安装

手动安装的方法是:
直接下载插件安装包解压缩到Packages目录(菜单->preferences->packages)。

Package Control安装方法是:
首先按Ctrl+`调出console,然后输入以下命令:

import urllib.request,os; pf = ‘Package Control.sublime-package’; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), ‘wb’).write(urllib.request.urlopen( ‘http://sublime.wbond.net/’ + pf.replace(‘ ‘,’%20′)).read())

BCH源码学习笔记 | 第一步:搭建BCH的源码学习环境

然后重新启动Sublime Text,就可以安装成功了。

判断是否安装成功:
在Perferences->package settings中看到package control这一项,则安装成功。

BCH源码学习笔记 | 第一步:搭建BCH的源码学习环境

安装成功后,可以通过按下Ctrl+Shift+P调出命令面板输入install 调出 Install Package 选项并回车,然后在列表中选中要安装的插件,即可安装。

BCH源码学习笔记 | 第一步:搭建BCH的源码学习环境

2.2 插件推荐 – 针对BCH源码分析

MarkDown Editing
将SublimeText扩展为能够查看和编辑 Markdown 文件的编辑器,并且通过适当的颜色高亮和其它功能来更好地完成编辑工作。

SideBarEnhancements插件
SideBarEnhancements是一款很实用的右键菜单增强插件;在安装该插件前,在Sublime Text左侧FOLDERS栏中点击右键,只有寥寥几个简单的功能;安装了功能就非常丰富了。

BCH源码学习笔记 | 第一步:搭建BCH的源码学习环境

3.Sublime Text 3 使用技巧-针对BCH源码阅读

快速定位函数
在函数上,点击右键,可以看到一个Goto Definition功能,点击之后,就可以快速的到达相应的函数实现部分
BCH源码学习笔记 | 第一步:搭建BCH的源码学习环境

函数查询
通过按下Ctrl + Shift + R,然后直接输入函数,就可以快速查询函数所在位置
BCH源码学习笔记 | 第一步:搭建BCH的源码学习环境

文件查找

在左侧的根目录上,点击右键,然后找到Find& Replace功能,就可以快速查找文件和相关信息

BCH源码学习笔记 | 第一步:搭建BCH的源码学习环境

以上就是我们在BCH源码阅读过程中所使用的工具和相关功能技巧,希望大家掌握。

下一期将和大家分享《BCH源码学习笔记》的《第二步:学习一些阅读源码的基础知识》,跟大家谈一谈C++库的学习(Boost,Signals2, Bind, Thread, Chrono, Test, Program Options,libevent)。欢迎关注!

附《笔记》完整目录,点击查看:【《BCH源码学习笔记》完整目录】

声明:本文系专栏作者“小明在链圈”独家投稿,首发巴比特资讯,未经作者授权,严禁转载。

声明:链世界登载此文仅出于分享区块链知识,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。此文如侵犯到您的合法权益,请联系我们100@7234.cn

    参与讨论 (0 人参与讨论)

    相关推荐

    区块链投资趋势报告:巨头入场布局行业趋于成熟

    区块链投资趋势报告:巨头入场布局行业趋于成熟

    来自:https://mp.weixin.qq.com/s?__biz=MzI4NzIxOTY1NA==&mid=2650632639&idx=1&sn=e6d1c29731d992a80410aaee82ec3ea6&chksm=f3d8db16c4af520097e4a64a71b1d4743ac326b9f027

    重新发明货币

    重新发明货币

    一、货币的演化过程 先简单回顾一下人类货币的演化过程,大概有以下阶段: a. 1.0版本:自然货币(贝壳、牲口、金银……) 这个阶段,货币基于一般等价物的稀有性或者实用性,货币不可能出现人为操纵的超发。 b. 2.0版本:早期纸币、银票到本位纸币 当贸易量越来越大,实物货币太不方便了,而且大家发现其实并不在意货币本身有什么价值,在意的只是这么多的货币能不能交换到足够的物品,于是纸币这种信用货

    从比特币交易看欧洲央行虚拟货币分类

    从比特币交易看欧洲央行虚拟货币分类

      互联网对传统社会的颠覆从未停止,在其完成对信息流、商流、物流、资金流的初步改造之后,或将以虚拟货币的形式打破现有货币体系   4月18日,在中国极客张沈鹏创办的比特币交易平台(42BTC.com)上,比特币对人民币的平均交易价为576元。当天,该平台完成了100个比特币的交易量。仅仅过去一周,4月25日上午,比特币对人民币的平均交易价已达到906元。据42BTC网站统计:在过去的32个月

    欧洲央行-比特币报告

    3.1 比特币 3.1.1 基本特征          比特币可能是最成功的,也可能是最有争议的虚拟货币方案,由日本程序员中本聪(译者注:事实上,中本聪是不是日本人,甚至是不是单个人无从考证)在2009年设计并实现。该计划基于一个类似于BitTorrent的P2P网络。BitTorrent是互联网上著名的共享文件协议,应用在电影,游戏和音乐领域。比特币在全球层面上运作,可用于各类货币交易(虚

    彻底玩转比特币地址和私匙

    彻底玩转比特币地址和私匙

    比特币地址和私匙是所有比特币初学者面对的一大难题,再加上那一串超长的字符串,让人更是摸不到头脑。 现在编者以问答的形式,带你一步步的揭开比特币地址和私匙的面纱。 还不知道什么是比特币地址和私匙的同学请点这里 问题一、比特币钱包由什么组成? 答 我们知道,比特币地址和私匙组成了比特币钱包,而私匙则决定了比特币地址上比特币的归属。 地址和私匙 问题二、如果只记得私匙我们还能还原比特币地址么? 答

    用GO语言实现比特币算法

    用GO语言实现比特币算法

    本节的这个例子展示一点点高精度数学包math/big、一点点散列包hash、一点点加密包crypto,还有一点点测试包testing的知识。这里不介绍bitcoin协议和算法——尽管它们很有趣,而是试图指出,Go对多种操作系统的支持,是实现这种跨平台应用的理想语言。 位钱(bitcoin)是一种使用加密手段制作的分布式电子货币。它最初于1998年由Wei Dai提出,并由中本聪(Satoshi

    详解比特币的找零机制

    详解比特币的找零机制

    比特币的找零机制一直让人有些迷惑,明明只向一个地址发送了比特币为什么 blockchain 上面的显示的有时是1个地址对多个地址,有时是多个地址对1个地址,有时又显示多个地址对多个地址? 为什么比特币资深用户要提醒大家当比特币钱包交易100次以上时再次交易后要重新备份钱包,恢复以前的钱包备份有可能会遭遇损失? 是的,这一切都是因为比特币的找零(Change)机制。本文参考 Bitcoin的维

    玩转比特币客户端之一:C盘转移和加速下载

    玩转比特币客户端之一:C盘转移和加速下载

    C盘空间不足?交易数据下载速度太慢?别着急,乐享比特币教你轻松玩转比特币官方客户端。 所有新人开始接触比特币时做的第一件事情大多数是安装比特币的官方客户端。 安全起见大家最好直接访问官方发布渠道sourceforge的地址进行下载:http://sourceforge.net/projects/bitcoin/files/Bitcoin/ 该网页列出了各版本的官方比特币客户端,目前

    麦妖榜
    更新日期 2019-03-21
    排名用户贡献值
    1BitettFan23752
    2等待的宿命23696
    3六叶树20309
    4天下无双16192
    5区块大康15902
    6lizhen00214889
    7让时间淡忘14256
    8linjm122712327
    9冷风大q11188
    10momo11174
    返回顶部 ↑