BHD源代码编译方法

       2019年10月7日,第一个CPoC共识的数字货币,也是第一个基于Bitcoin的PoC数字货币BHD开放源码了,在上一篇文章“BHD开放源码,PoC江湖进入新时代”中我发表了看法,从技术上来讲,态度鲜明,这必须点赞!PoC这场大戏才正式开场,后面将会发生更多精彩的故事。我不炒币,可以用一个轻松心情来观看。

       作为技术人员当然第一时间要做的就是下载BHD源代码,即使BHD后悔了,代码咱们已经收藏了,哈哈.......

       BHD在Github的地址是:https://github.com/btchd/btchd,Github是什么?全世界最大的开发社区,以开放源码项目闻名于世,Bitcoin等大名鼎鼎的项目都聚集于此,Github对技术人员来说简直就是无穷之宝藏啊!

       在BHD的Github网页,你可以下载代码,发布问题,也可以提交自己修改的代码,功能非常多,如果有兴趣可以百度Github的使用方法,这里就不细说了。在下图的左上角有一行小字:forked from bitcoin/bitcoin,说明BHD是fork的Bitcoin,即基于Bitcoin进行开发。fork是开源软件最常见的方法,我想在哪个项目基础上增加功能或者修改,fork一下即可!在开放源码的世界里软件都是互相借鉴,逐步发展的,这不等于“抄”。在图中绿色按钮的上方有一个词“MIT‘,就是开源软件最常见的一种非常宽松的版权许可协议,即允许在开源代码基础上修改后还可以闭源。

        点击上图右上的绿色按钮“clone or download”按钮,然后点击“download ZIP”就可以下载BHD代码了,当然对于软件工程师的下载姿势是通过控制台命令:

        我们下载BHD源代码当然不只是为了收藏,下一步就是自己动手编译代码,这样就可以使用自己编译的钱包等软件,而不是只能使用官方的,当然你可以继续使用官方的,但是只能使用和选择使用是天壤之别。对于社区而言,拥有源代码意味着可以修改源代码,对软件功能进行完善,甚至修改共识规则,当然如果想启动一个BHD的硬分叉,你需要得到51%的支持,这正是社区共识形成的开始。本文是技术文章,对数字货币的治理不再多说。

        首先要根据不同的操作系统选择不同的编译方式,最原汁原味的操作系统自然是Unix系列,例如Ubuntu等各种Linux,本文使用的操作系统为Ubuntu 16.04,在各种操作系统中编译BHD,可以参考源代码中的文档:

        Windows:https://github.com/btchd/btchd/blob/master/doc/build-windows.md

        在Windows中编译需要安装Linux虚拟机或者Windows 10自带的WSL。

        MacOS:https://github.com/btchd/btchd/blob/master/doc/build-osx.md

        Linux:https://github.com/btchd/btchd/blob/master/doc/build-unix.md

        首先是安装需要的各种依赖库:

        sudo apt-get update

        sudo apt-get upgrade

        sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev

        sudo apt-get install libboost-all-dev

        sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler

        sudo apt-get install libqrencode-dev autoconf openssl libssl-dev libevent-dev

        sudo apt-get install libminiupnpc-dev

        sudo apt-get install libdb4.8-dev libdb4.8++-dev

        安装依赖不是一件很容易的事情,其中可能会遇到不少问题,很多和具体的机器环境有关,需要根据后面编译出现的问题查找原因,你可以加入我建立的“BHD源码学习”微信群,和大家一起讨论解决方法。下面可以开始源代码编译了:

        cd ~/BHD/btchd/

        ./autogen.sh

        ./configure

        make

        由于每台机器的环境差异,编译过程可能会出现各种问题,需要根据错误原因进行查找解决。如果编译成功,就会生成编译好几个文件,其中:btchd-qt在src/qt目录,其余文件在src目录下。

    btchd-qt (图形界面的节点,俗称钱包)

    btchdd (命令行节点的服务器端)

    btchd-cli (命令行节点的客户端)

    btchd-tx

    我们可以把这几个文件拷贝到一个新的目录,即把编译目录和运行目录区分开,这样是一个好的习惯。然后就可以像之前一样使用了,下面列出图形方式钱包的运行方式:

    ./btchd-qt -datadir=./data

    这样就可以运行我们自己编译的BHD钱包了,我们可以看到版本和Github和官网的公告一致,为最新版本1.3.4。而且也可以同步区块,即已经成功接入BHD主网。

        本文为大家讲解了开放源码后的第一步:编译代码。这只是一个开始,下面我们会对代码进行更深入的学习和研究,还会为代码增加更多的功能,包括发现问题,相信BHD的代码质量在社区的共同努力下会越来越好!

        最后说一下关于真假开源的问题,我把开放源码比喻成一个单行道,首先一个项目先要走出第一步,即开放源码。之后全世界的人都可以对代码进行独立的查看和分析,包括BHD的竞争者,有一句话说得很好:代码已经放在那里了,真假好坏自己可以去看了!我相信如果一个项目假开源被发现,其效果还不如不开源,因此我说开放源码是一个单行道,没有回头路。

       再次给BHD开发者点赞!希望更多的项目都能够跟上BHD的步伐,PoC社区将更加美好!

       想学习编译BHD源代码,及时了解BHD源代码的更多动态和数字货币知识,也可以把你对源代码的疑问提出来大家一起探讨,欢迎加入“BHD源代码学习”群,本群为收费群,加入请给以下地址转0.5BHD,然后加微信aiking2018入群,如果你觉得看完本文有收获,也可以给向该地址打赏:32esGUrk1S3BZeux7vLkBriY4r5BCvbbZt

平岸小桥千嶂抱。柔蓝一水萦花草。茅屋数间窗窈窕。尘不到。时时自有春风扫。

午枕觉来闻语鸟。欹眠似听朝鸡早。忽忆故人今总老。贪梦好。茫然忘了邯郸道。

欲知后事如何,且听下文分解。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343