主页 > imtoken转账需要验证码 > btc源码编译及环境搭建
btc源码编译及环境搭建
区块链是近几年才流行起来的概念。 最早,大家只知道比特币(bitcoin)。 很长一段时间,比特币几乎就是区块链的代名词。 当然,大多数人关注的是比特币的价格,而作为技术出身的人,听到后的第一反应是:
我是牛,太牛了,我是怎么做到的!
想看看比特币是如何实现的冲动是如此强烈。 好在比特币是开源的,所以基于github上的比特币源代码,我们可以快速搭建自己的比特币服务和钱包。
你说你设置的时候可以做什么?
- 我的可以吗?我个人无法挖掘出来。
- 你能制作山寨币吗? 还不如以太坊上发行的ERC-20,发币只需5分钟。
好吧,以上都没有多大价值。 比特币,作为区块链项目的始祖,虽然从目前的角度来看它存在着种种不足,但它展现了区块链技术的核心部分,是学习区块链技术的最佳工具。 让我们开始吧。
操作系统
我使用的是 Ubuntu 18.04
安装依赖项
使用命令apt-get install安装,如果没找到命令,安装apt-get(自行搜索,安装后sudo apt-get update更新包),显示权限不够,使用sudo apt-获取安装命令
sudo apt-get 安装 make
sudo apt-get 安装 gcc
sudo apt-get 安装 g++
sudo apt-get 安装 libevent-dev
sudo apt-get 安装 libdb-dev
sudo apt-get 安装 libdb++-dev
sudo apt-get install libdb5.3++-dev
sudo apt-get 安装 libboost-dev
sudo apt-get 安装 libboost-all-dev
sudo apt-get 安装 zlib1g-dev
sudo apt-get 安装 libssl-dev
sudo apt-get install build-essential
sudo apt-get 安装 libminiupnpc-dev
sudo apt-get install autoconf
sudo apt-get 安装 libprotobuf-dev
sudo apt-get install protobuf-compiler
sudo apt-get 安装 libqt4-dev
sudo apt 安装 libcanberra-gtk-module libcanberra-gtk3-module
我这里列出的库比网上查到的资料上列出的要多,可能因为我是全新安装的Ubuntu,也想在x-window下用图形界面运行。 提前装一点总比装到一半好,现在硬盘空间也不缺。
编译运行
1.下载源码
第一步当然是先去github上下载源码。 如果没有 git,请先安装 git。
sudo apt-get 安装 git-core
推荐git clone下载,虽然有点慢,如果通过网站包下载,容易下载不完整
混帐克隆
2.配置编译
CD比特币
进入目录,会看到整个源码的各种文件
其中有可执行文件autogen.sh和配置文件configure
./autogen.sh
如果报错最早知道比特币,加sudo
。/配置
这是配置与您机器上运行的代码相关的依赖项并检查必要的环境。
初始化步骤
这里有一点解释。 比特币代码运行机制是多线程的。 父进程创建子进程。 运行过程中父进程返回后,子进程继续初始化运行进程,包括以下12个步骤:
第 1 步:设置设置
第二步:参数交互参数交互(主要是一些参数设置)
第三步:parameter-to-internal-flags 参数传递给内部标志(bool类型变量)
第四步:应用程序初始化:dir lock, daemonize, pidfile, debug log
应用初始化:锁定目录、后台运行、调试信息
第五步:验证钱包数据库的完整性 确认钱包数据库的完整性
第六步:网络初始化网络初始化
第七步:加载区块链加载区块链
第八步:加载钱包load wallet
第九步:导入区块 导入区块数据
第十步:load peers import peers
第十一步:start node 启动节点(此处为挖矿程序)
第12步:完成完成
检查配置信息和网络情况是否满足加载区块链的条件。 执行.configure后,需要查看是否有相应的错误信息或WARNING。 一般来说,警告是允许的。 对于比特币的最终操作,但我们还是更喜欢将警告一一消除比较好。
这里最容易遇到的就是db兼容性的问题。 我遇到的错误信息:
从网上查到的资料,直接加上编译参数就可以了。
./configure –with-incompatible-bdb
配置完成,没有报错,下面可以进行编译了。
制作
如果执行成功最早知道比特币,没有报错,继续安装
须藤安装
注意:这里需要管理员权限,所以加上sudo
安装完成!
操作系统
执行订单:
比特币-qt
注意:使用qt在x-window下运行。
看看这里的提示。 加载块数据需要203G。 单击确定执行块同步。
好吧,以我目前的互联网速度,我需要 9 年才能同步所有数据......
203G,听上去数据很多,但是仔细想想,从2009年到现在10年的所有比特币数据节点、网络、交易数据,你会觉得这个数据很小。
经验:尽量在root下进行所有的安装和配置操作。
参考:
比特币Bitcoin Wiki
比特币比特币源代码文档
比特币比特币中国