ブロックチェーンのソースコードを読みたい、公式実装であるBitcoin Coreがあります。他のブロックチェーンの実装でもBitcoin Coreをフォークした実装が多く、自分のブロックチェーンを作るのであればBitcoin Coreをフォークするのがよさそう。Bitcoin Coreをソースからビルドして見る。
Bitcoinビルド環境
- Ubuntu18.04
- Bitcoin Core v22.99.0
- Qt バージョン 5.9.5
依存ライブラリのインストール
sudo apt-get install make
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install build-essential
sudo apt-get install libtool
sudo apt-get install autotools-dev
sudo apt-get install autoconf
sudo apt-get install pkg-config
sudo apt-get install libssl-dev
sudo apt-get install libevent-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libminiupnpc-dev
sudo apt-get install libqt4-dev
sudo apt-get install libprotobuf-dev
sudo apt-get install protobuf-compiler
sudo apt-get install libqrencode-dev
sudo apt-get install libdb-dev
sudo apt-get install libdb++-dev
Qt5をインストールする場合(推奨)
sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler
GCCバージョンを8にアップグレード
sudo apt install g++-8 gcc-8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 700 --slave /usr/bin/g++ g++ /usr/bin/g++-7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800 --slave /usr/bin/g++ g++ /usr/bin/g++-8
Bitcoinソースコードの取得
mkdir ~/bitcoinsource
cd ~/bitcoinsource
git clone https://github.com/bitcoin/bitcoin
Bitcoinのビルド
cd bitcoin
./autogen.sh
./configure
make
sudo make install
Bitcoinの起動
$ bitcoin-qt
インストールしたBitcoin Coreのブロックチェーンデータベースが古いので、
全世界最新ブロックチェーンデータベースより10年ぐらい遅れています。
最新のデータベースから同期必要があります。
同期完了までに結構時間がかかります。
同期中のP2Pのピア一覧を見えます。
現在、全世界最新ブロックチェーンデータベースが400Gがあるので、自分のPCにこんな大きなデータを保存できないので、最新の部分だけを保存するように保存容量を制限してよさそうです。
保存容量を制限すると、制限した最新部分が保存されています。
IDEツール(Qt Creator)でBitcoinソースコードを見る
File → File/Projectを新規 → import ProjectよりBitcoinソースコードをインポートします。