Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
写在开始之前,为什么你一定要学习区块链技术?
* t0 F) C+ d% ^8 F# J技术的变革和迭代一直在飞速发展中,作为有着15年程序开发经验的我,常常在思考现在的我们到底改如何做,到底应该学习些什么,才能跟上新的时代变革,保持自身的竞争力,并且能为这个世界带来更好的改变呢?
: l1 {4 u. X5 I6 R; Y  y' s答案是,学习新技术,成为紧跟时代发展趋势的稀缺技术人才。而毫无疑问,比特币区块链技术是绝对不容错过的。$ \0 N7 t' Y, |( p% x. ^' E
当我研究了比特币区块链之后,更加确信了这一点。比特币区块链技术解决了人和人之间的信任问题,是对生产力和生产关系的一次变革,而这必将影响人类社会的发展。
* s3 N9 _5 ?/ H" z/ d& v4 h想到就要做到,于是我开始深入研究了比特币区块链技术,从0开始一行行的代码跑起来,遇到过很多坑,花了很多时间和精力爬坑。现在我把这些凝聚时间和心血的学习资料整理成文档写成教程,希望能够帮助你在学习的过程中少些弯路。
+ L" K; m! i4 M$ @8 g" d+ Z准备工作
1 g+ @4 W$ `5 P4 Q0 }: y8 l没有亲自跑一遍代码,不算真正的学习。
9 l! W7 S9 e2 N% |今天我们开始从零编译比特币源代码。
( h; L5 e6 K4 l/ p下载比特币源代码
9 S5 w( F) x' x% ]6 ~2 G: g首先要做的就是从github上下载比特币的源代码,其中 doc 目录为比特币文档,src 为系统源代码,test 为测试代码的目录。具体怎么下载,想必大家都用过 git 和 github ,就不用我细说了。
% v  A9 F+ a5 S: |/ e- E当我们下载完源代码之后,进入 doc 子目录,找到 build-xxx.md 文档,xxx 代表了不同的系统,当前支持的系统有 freebas、netbsd、openbsd、osx、unix、windows 等,根据你的系统参考不同的安装文档。比如,我的系统为 Mac,对应的就是 build-osx.md,打开这个文档会看到构建说明和一些备注。3 e( M# i$ U6 b" W+ n2 `; e( Q
命令行工具准备. o+ K# G3 \) }' Y& o/ P
在 Mac 系统下,必备的工具就是 xcode 命令行工具,我们通过输入如下命令进行安装:) x" c4 U( ?& Y3 t9 S
xcode-select --install& m" y8 f+ m# K: N) ~
当弹出窗口出现时,选择 安装。' n4 r1 Z9 ^& \, ^2 O9 I' p- W
安装依赖
' q( L2 O* N3 o. N9 q+ V# V当命令行工具安装之后,接下来我们要做的就是安装依赖,在些特别推荐使用Homebrew,这是 Mac 下面安装应用的必备神器。
- b6 \7 _: ~0 W0 W5 v, ~当 Homebrew 安装完成之后,就开始安装编译比特币的各种依赖了,命令如下:
  1. brew install automake berkeley-db4 libtool boost miniupnpc openssl pkg-config protobuf python qt libevent qrencode
复制代码
如果你需要生成 dmg 可执行文件,那么还需要 RSVG,安装命令如下:
  1. brew install librsvg
复制代码
具体步骤
* x2 s2 _! y* z1 h# I! t& r; D& I当依赖安装完成之后,就真正开始编译比特币。
. H* u- J7 w& R  H/ s# u+ v首先,进入比特币根目录。命令如下:
  1.   cd bitcoin
复制代码
然后,开始编译比特币源代码。命令如下:
  1. ./autogen.sh
    + x( |" P! l+ r
  2.   ./configure
    8 ]2 P  x4 C- \* E
  3.   make
复制代码
如果你不需要图形界面,那么在执行 ./configure 时需要加入 --without-gui 标志,即 ./configure --without-gui。另外,在 Mac 系统下,为了调试比特币代码,需要把 configure 文件中的所有 -g -O2 替换为 -g,这是因为 Mac 下的 LLDB 存在 bug,导致某些变量不可用。
! }* t* O2 {4 ]- L8 }2 S# Z当你看到下面的图片时,恭喜你编译成功了。
! A- o+ Z8 U' }( Y+ y编译成功
0 J2 C( j; b3 Z比特币编译成功时,会在 src 目录下面生成4个可执行的命令:bitcoind、bitcoin-cli、bitcoin-tx、qt/bitcoin-qt,如红框所示。
8 _" {  \5 {! ], [5 w: j* i( D强烈建议,你执行下面的命令来运行一遍单元测试:
  1.   make check
复制代码
通常这一步是不会出错的。  n' S: d3 S, B. m; [9 }7 ~, W. v
可选地,你也可以生成一个 dmg,命令如下:
  1.   make deploy
复制代码
执行这个命令后,系统会提示你把应用放在 Application 下面。最终应用案头在 /Applications/Bitcoin-Qt.app 下。
3 T* I( K9 v7 k' M- k当比特币编译完成后,万事大吉,只欠运行了。8 G6 f1 s' B8 e7 _5 U2 n% Y1 L
设置下 RPC用户及密码
7 Q3 d4 v8 P! ?- L但是在运行比特币核心客户端之前,强烈建议你设置下 RPC用户及密码,这样你才可使用系统提供的所有 RPC 命令。8 e/ }* p  x' [' Y
具体命令如下:
  1. echo -e "rpcuser=bitcoinrpc\nrpcpassword=$(xxd -l 16 -p /dev/urandom)" > "/Users/${USER}/Library/Application Support/Bitcoin/bitcoin.conf"
    2 f2 o8 A- T+ [5 x
复制代码
执行完上面两个命令之后,我们来确认是否设置成功。: T1 n4 m+ P& b! w& G/ q! k
首先执行:
  1. ls -l "/Users/${USER}/Library/Application Support/Bitcoin/bitcoin.conf"
复制代码
来确认文件的模式为-rw-r--r—,如图下图:
9 e( `# y2 F7 \4 p# R: J5 N( h[图片上传失败...(image-1dd9eb-1535530998782)]
& _" A- W; k3 B+ n; r, y  }0 v然后再执行
  1. vi "/Users/${USER}/Library/Application Support/Bitcoin/bitcoin.conf"
复制代码
看到文件内容如下即为设置成功。
/ v6 h  M) @6 u# p+ n
8 y1 y4 b, a7 x9 P4 K当设置完 RPC 用户及密码之后,下面就开始输入最最重要的命令:
  1. ./src/bitcoind -testnet     # -testnet 代表的是测试网络,如果不加这个标志,那么就连接到比特币主网络。作为演示,此处连接到比特币测试网络。
复制代码
键入上面的命令并按下回车键。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

杨小公子君莫邪 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    13