LoginSignup
2
2

More than 1 year has passed since last update.

ブロックチェーン入門:Bitcoinソースコードからビルド

Last updated at Posted at 2022-01-27

ブロックチェーンのソースコードを読みたい、公式実装であるBitcoin Coreがあります。他のブロックチェーンの実装でもBitcoin Coreをフォークした実装が多く、自分のブロックチェーンを作るのであればBitcoin Coreをフォークするのがよさそう。Bitcoin Coreをソースからビルドして見る。

Bitcoinビルド環境

依存ライブラリのインストール

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

image.png

インストールしたBitcoin Coreのブロックチェーンデータベースが古いので、
全世界最新ブロックチェーンデータベースより10年ぐらい遅れています。
最新のデータベースから同期必要があります。
同期完了までに結構時間がかかります。

image.png

同期中のP2Pのピア一覧を見えます。

image.png

現在、全世界最新ブロックチェーンデータベースが400Gがあるので、自分のPCにこんな大きなデータを保存できないので、最新の部分だけを保存するように保存容量を制限してよさそうです。

image.png

保存容量を制限すると、制限した最新部分が保存されています。

image.png

IDEツール(Qt Creator)でBitcoinソースコードを見る

File → File/Projectを新規 → import ProjectよりBitcoinソースコードをインポートします。

image.png

image.png

image.png

image.png

2
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2