一:开始
区块链世界学习的开始!
机会就是这样,当大家都对它不看好,当你对它还不能确定的时候,它真的是机会;而当你确定它是的时候,往往已经迟了半步!
每一个时代都有自己的机会,但是永远都是少数人看到,抓到了。
区块链技术最近几年开始出现,但是奇怪的名字,对大众非常的陌生。但是一些人很可能是一个机会,作为程序员更应该加入这个机会了。
7月份决定进入区块链的世界,先丢一个帽子过去,投入了资金加入好的社区“区块研习社”,8月底有加入了比特币源码研读班。可惜各种原因进展缓慢。输出才是最好的学习。所以开始我的输出了。
二:准备
比特币源码编译开始前是明确目标了
目标:比特币代码下载,运行,为以后学习准备。
结论:只关注相关内容就好。不然会调入时间的大坑,因为需要安装虚拟机,linux系统,下载各类相关库,各种版本兼容问题,linux各种命令,最后才是比特币源码下载编译。对于学习各环节都很重要,但是如果前期纠结各种细节占用大量时间,而不尝试了。学习最佳路径,第一遍快速进行,提高自己的自信度,然后才是认真研究了。
安装运行需要大量时间不要一直等,最好计划好自己的时间,让电脑自己跑就可以。
三:环境准备
开始正式的准备了
1.linux系统(Windows系统也是可以,但是小伙伴都在使用linux而且对于比特币编译也是更好的选择)因为工作电脑是Windows所有需要虚拟机安装linux系统了。
下面是我用到的虚拟机,系统。
下载VMware
https://my.vmware.com/en/web/vmware/free#desktop_end_user_computing/vmware_player/7_0%7CPLAYER-714%7Cproduct_downloads
我下载的是VMware Player for Windows64-bit operating systems.
下载ubuntu
http://cn.ubuntu.com/download/
提示:
1.VMware很多版本那个都好,快速安装,遇到问题快速换一个好了(不知什么原因,在这一步卡了很久很久。。。最后更换最新版一切ok了)
2.安装完成选择免费试用,输入一个邮箱就可以了。
3.密码设置简单一些,linux为了安全经常需要输入密码,本来为了测试学习,每次输入一个强密码,也很纠结了。
4.耐心等待,过程可能很慢。
5.最后给linux系统4G以上内存,不然可能运行不了。
5.各种奇葩问题,谷歌可以了,毕竟相关文章非常多了,多试下好了。
相关库的准备
需要很多库下,输入很多命令,如果不是很熟,也不用纠结这个细节,毕竟不是学习linux来了。直接输入就好
sudo apt-get update//更新源,sudo利用管理员的身份开始更新或安装
sudo apt-get upgrade//更新已安装的包
sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev//安装软件包 build-essential
sudo apt-get install libboost-all-dev //安装boost标准库(c++)
sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler //安装qt5,图形用户界面应用程序开发框架
sudo apt-get install libevent-dev //安装库
c语言相关
sudo apt-get install libqrencode-dev //安装c语言生成二维码的库
sudo apt-get install libminiupnpc-dev //libminiupnpc-dev软件包,用于各种网络互联,包括tcp/ip,无线设备等
安装 berkeley-db4
mkdir bitcoin/db4/
wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz'
下载完成后执行下面语句进行安装
tar -xzvf db-4.8.30.NC.tar.gz
cd db-4.8.30.NC/build_unix/
../dist/configure --enable-cxx --disable-shared --with-pic --prefix=/home/theusername/bitcoin/db4/
make install
四:比特币源码下载运行
比特币源码下载
git clone https://github.com/bitcoin/bitcoin.git
运行编译源码,需要很久,1,2h了
cd ~/bitcoin/
./autogen.sh
./configure LDFLAGS="-L/home/theusername/bitcoin/db4/lib/" CPPFLAGS="-I/home/theusername/bitcoin/db4/include/"
make
make install
运行客户端,最后如下
./src/qt/bitcoin-qt
五:总结
断断续续3,4天才最后完成,不过第一步走出来了,以后会更好了!