风险提示:理性看待区块链,提高风险意识!
从零开始学习区块链技术(一):从源代码编译比特币
首页 > 币界资讯 > 区块链知识 2018-09-11 15:56:00

写在开始之前,为什么你一定要学习区块链技术?

技术的变革和迭代一直在飞速发展中,作为有着15年程序开发经验的我,常常在思考现在的我们到底改如何做,到底应该学习些什么,才能跟上新的时代变革,保持自身的竞争力,并且能为这个世界带来更好的改变呢?

答案是,学习新技术,成为紧跟时代发展趋势的稀缺技术人才。而毫无疑问,比特币区块链技术是绝对不容错过的。

当我研究了比特币区块链之后,更加确信了这一点。比特币区块链技术解决了人和人之间的信任问题,是对生产力和生产关系的一次变革,而这必将影响人类社会的发展。

想到就要做到,于是我开始深入研究了比特币区块链技术,从0开始一行行的代码跑起来,遇到过很多坑,花了很多时间和精力爬坑。现在我把这些凝聚时间和心血的学习资料整理成文档写成教程,希望能够帮助你在学习的过程中少些弯路。

准备工作

没有亲自跑一遍代码,不算真正的学习。

今天我们开始从零编译比特币源代码。

下载比特币源代码

首先要做的就是从github上下载比特币的源代码,其中 doc 目录为比特币文档,src 为系统源代码,test 为测试代码的目录。具体怎么下载,想必大家都用过 gitgithub ,就不用我细说了。

当我们下载完源代码之后,进入 doc 子目录,找到 build-xxx.md 文档,xxx 代表了不同的系统,当前支持的系统有 freebas、netbsd、openbsd、osx、unix、windows 等,根据你的系统参考不同的安装文档。比如,我的系统为 Mac,对应的就是 build-osx.md,打开这个文档会看到构建说明和一些备注。

命令行工具准备

在 Mac 系统下,必备的工具就是 xcode 命令行工具,我们通过输入如下命令进行安装:

xcode-select --install

当弹出窗口出现时,选择 安装

安装依赖

当命令行工具安装之后,接下来我们要做的就是安装依赖,在些特别推荐使用Homebrew,这是 Mac 下面安装应用的必备神器。

当 Homebrew 安装完成之后,就开始安装编译比特币的各种依赖了,命令如下:

brew install automake berkeley-db4 libtool boost miniupnpc openssl pkg-config protobuf python qt libevent qrencode

如果你需要生成 dmg 可执行文件,那么还需要 RSVG,安装命令如下:

brew install librsvg

具体步骤

当依赖安装完成之后,就真正开始编译比特币。

  1. 首先,进入比特币根目录。命令如下:
      cd bitcoin
    
  2. 然后,开始编译比特币源代码。命令如下:
      ./autogen.sh
      ./configure
      make
    

    如果你不需要图形界面,那么在执行 ./configure 时需要加入 --without-gui 标志,即 ./configure --without-gui。另外,在 Mac 系统下,为了调试比特币代码,需要把 configure 文件中的所有 -g -O2 替换为 -g,这是因为 Mac 下的 LLDB 存在 bug,导致某些变量不可用。

    当你看到下面的图片时,恭喜你编译成功了。

    编译成功

    比特币编译成功时,会在 src 目录下面生成4个可执行的命令:bitcoind、bitcoin-cli、bitcoin-tx、qt/bitcoin-qt,如红框所示。

  3. 强烈建议,你执行下面的命令来运行一遍单元测试:
      make check
    

    通常这一步是不会出错的。

  4. 可选地,你也可以生成一个 dmg,命令如下:
      make deploy
    

    执行这个命令后,系统会提示你把应用放在 Application 下面。最终应用案头在 /Applications/Bitcoin-Qt.app 下。

当比特币编译完成后,万事大吉,只欠运行了。

  1. 设置下 RPC用户及密码

但是在运行比特币核心客户端之前,强烈建议你设置下 RPC用户及密码,这样你才可使用系统提供的所有 RPC 命令。

具体命令如下:

echo -e "rpcuser=bitcoinrpc\nrpcpassword=$(xxd -l 16 -p /dev/urandom)" > "/Users/${USER}/Library/Application Support/Bitcoin/bitcoin.conf"
chmod 600 "/Users/${USER}/Library/Application Support/Bitcoin/bitcoin.conf"

执行完上面两个命令之后,我们来确认是否设置成功。

首先执行:

ls -l "/Users/${USER}/Library/Application Support/Bitcoin/bitcoin.conf"

来确认文件的模式为 -rw-r--r—,如图下图:

[图片上传失败...(image-1dd9eb-1535530998782)]

然后再执行vi "/Users/${USER}/Library/Application Support/Bitcoin/bitcoin.conf"

看到文件内容如下即为设置成功。

img

当设置完 RPC 用户及密码之后,下面就开始输入最最重要的命令:

./src/bitcoind -testnet     # -testnet 代表的是测试网络,如果不加这个标志,那么就连接到比特币主网络。作为演示,此处连接到比特币测试网络。

键入上面的命令并按下回车键。

比特币运行图

恭喜你,你的比特币之路已经开始。

上一篇: 以太坊2.0超级全节点、顶级节点、单分片节点解析及探讨
下一篇: 学术向丨神奇的零知识证明和zkSNARK究竟是什么
推荐专栏
web3首席知识博主
一位相信价值投资的币圈KOL。稳定盈利的缠论野生交易员 #BTC行情分析师 #价值投资 #链上数据分析
爱Web 3,爱生活,爱科技,爱炒币的老韭菜
热门币种
更多
币种
价格
24H涨跌幅
BTC比特币
¥264,723.74
37,091.22 USDT
+0.1%
ETH以太坊
¥14,416.22
2,019.90 USDT
-0.12%
USDT泰达币
¥7.20
1.01 USDT
0%
BNB币安币
¥1,625.40
227.74 USDT
+0.36%
XRP瑞波币
¥4.32
0.60460 USDT
+0.37%
USDC
¥7.14
1.00 USDT
+0.03%
SOLSolana
¥398.85
55.89 USDT
+1.54%
OKBOK币
¥398.61
55.85 USDT
-1.64%
ADA艾达币
¥2.68
0.37580 USDT
-1.16%
DOGE狗狗币
¥0.55160
0.07730 USDT
-1.52%
热搜币种
更多
币种
价格
24H涨跌幅
Terra Classic
¥0.00
9.402E-5 USDT
-18.95%
Gala
¥0.18
0.025374 USDT
-4.66%
dYdX
¥22.58
3.1918 USDT
-0.91%
比特股
¥0.05
0.006964 USDT
+4.28%
PancakeSwap
¥15.52
2.1936 USDT
-2.74%
Conflux
¥1.08
0.1524 USDT
-2.87%
Filecoin
¥31.45
4.4454 USDT
-0.69%
FTX Token
¥29.82
4.2155 USDT
+16.96%
Yield Guild Games
¥2.55
0.3608 USDT
-0.52%
Shiba Inu
¥0.00
8.14E-6 USDT
-2.51%
比特币
¥262,381.44
37091.22 USDT
+0.1%
比原链
¥0.07
0.010011 USDT
-4.38%
最新快讯
更多
汇丰、恒生、渣打、富邦华一四家外资银行入围首批“数字人民币”业务试点名单
2023-11-28 19:06:57
摩根大通和Apollo计划建立代币化“企业主网”
2023-11-28 19:03:57
Nansen2公测版本上线,新增链上数据异动、智能搜索等功能
2023-11-28 18:59:52
西班牙公民需在明年3月底前申报其海外平台上加密货币持仓
2023-11-28 18:53:43
Nansen2已公开测试
2023-11-28 18:53:38
dYdX基金会:主网启动以来超过1645万DYDX被质押
2023-11-28 18:52:07
NicCarter等比特币倡导者发文:比特币挖矿是清洁能源和平衡电网的关键工具
2023-11-28 18:47:58
下载币界网APP