作為一名很早就知道BitCoin的一名程序員實在很慚愧,從13年了解了Bitcoin,也買了些Bitcoin,到現(xiàn)在都沒有去下載過Bitcoin的源碼來學習。今年下定決心要在這上面花費一些時間,不懂的東西不投,雖然大家都說Bitcoin是個好東西,區(qū)塊鏈會改變世界,但是我們業(yè)界有一名話叫:
Talk is cheap. Show me the code.
想要查看代碼,第一步就是要搭建環(huán)境,話不多說,看下文。
01 準備環(huán)境:
- 環(huán)境: 至少2核4G內存(別問我是怎么知道的)
- 硬盤20G
- 操作系統(tǒng):Ubuntu16.04 Desktop
我用的是VM虛擬機安裝的Ubuntu 16.04
安裝所依賴的庫:
sudo apt-get update
sudo apt-get install build-essential libtool autotools-dev autoconf automake libssl-dev libboost-all-dev libdb-dev libdb++-dev pkg-config libevent-dev git-core
02 下載源代碼
Bitcore的源碼目前在github上.
clone https://github.com/bitcoin/bitcoin
cd bitcoin
Bitcore 的核心是Bitcoin Core, 基于這個Core,Bitcoin有兩個實現(xiàn),一個是Bitcoin-qt, 一個是Bitcoind, 其中Bitcoind 是沒有界面GUI,而Bitcoin-qt 是有界面的實現(xiàn)。
下面進入核心的編譯環(huán)節(jié)。
03 編譯
首先編譯沒有界面的Bitcoind:
./autogen.sh
./configure --without-gui --with-incompatible-bdb
make
make 可能時間比較久,用上面的配置大概花了差不多20分鐘
成功后在Src目錄下面生成三個可執(zhí)行文件:
- bitcoind
- bitcoin-tx
- bitcoin-cli
在Bitcoind里面包括了所有的Bitcoin核心的功能,只有生成了這三個文件,就可以開始玩Bitcoin了。
我們可以通過bitcoin-cli或者RPC協(xié)議來調用bitcoind里面的功能。
下面我來看如何生成有界面的Gui,即Bitcoin-qt.
首先要安裝依賴庫:
sudo apt-get install libqt4-dev pkg-config libprotobuf-dev protobuf-compiler
編譯:
./autogen.sh
./configure -with-gui --with-incompatible-bdb
make
編譯成功后會有src/qt目錄下面生成 bitcoin-qt, 界面如下:

基于此,我們已經(jīng)成功編譯出來了Bitcoin 錢包了,只要把里面的參數(shù)進行修改,我們完全可以發(fā)布一個新的幣種了,這也是我后面要研究的。
如果想要生成Windows 環(huán)境的錢包,可以參考官方文檔。