为了不被时代抛弃,连一声再见都不说。最近开始研究bitcoin,主要是对C++比较熟。学习一项新技术,为达到效果,根据个人经验从下面三个方面入手:
1. 买一本介绍原理的书,系统的了解,为什么?因为书是别人智慧的总结,是一个完整的系统知识,站在前人肩膀远胜过网络碎片化知识。
2. 实践是最好的老师,唯有练才能领会其中的精髓。
3. 写博客,输出倒逼输入,强迫你学习之后自动理清思路总结,增加学习效果
----------------------------------------------------------------------------------------------------------
以下过程参考网上部分前人的总结实践,首先向他们表示感谢。
比特币 (货币符号: ฿;英文名:Bitcoin;英文缩写: BTC),是一种用于开源的P2P软件而产生的电子货币。比特币全局图是这样的:
下面开始Bitcoin的实践之旅:
一. 预备知识
本人环境为ubutun14.04 ,。
二. 安装知识
1. 更新系统的安装库,否则很多依赖库无法从服务器获取。
apt-get update
2.先安装一些必要的依赖库
sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev libevent-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libdb-dev libdb++-dev
sudo apt-get install libminiupnpc-dev
sudo apt-get install libqt4-dev libprotobuf-dev protobuf-compiler
sudo apt-get install libqrencode-dev
sudo apt-get -y install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler libqrencode-dev
sudo apt-get install make gcc g++ git
3.下载源码
git clone https://github.com/bitcoin/bitcoin.git
4. 进入git clone的直接进入目录
cd bitcoin
5.配置安装信息
./configure
如果你遇到这样的提示:configure: error: Found Berkeley DB other than 4.8, required for portable wallets 那就可以这样:
./configure --with-incompatible-bdb
配置完成后显示配置选项
Options used to compile and link:
with wallet = yes
with gui / qt = yes
with qr = yes
with zmq = no
with test = yes
with bench = yes
with upnp = yes
use asm = yes
sanitizers =
debug enabled = no
gprof enabled = no
werror = no
target os = linux
build os =
CC = gcc
CFLAGS = -g -O2
CPPFLAGS = -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS -D_FILE_OFFSET_BITS=64
CXX = g++ -std=c++11
CXXFLAGS = -Wstack-protector -fstack-protector-all -Wall -Wextra -Wformat -Wvla -Wformat-security -Wno-unused- parameter -g -O2
LDFLAGS = -pthread -Wl,-z,relro -Wl,-z,now -pie
ARFLAGS = cr
6.编译,大约10分钟
make
7.安装
sudo make install
8. 运行
bitcoin-qt
运行GUI截图:
9. DDD单步调试
ddd bitcoin-qt&