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
平岸小桥千嶂抱。柔蓝一水萦花草。茅屋数间窗窈窕。尘不到。时时自有春风扫。
午枕觉来闻语鸟。欹眠似听朝鸡早。忽忆故人今总老。贪梦好。茫然忘了邯郸道。
欲知后事如何,且听下文分解。