まずは、Bitcoin Coreをインストール

前回の初書き込みは、哲学がどうのこうのとか書いてましたが、今日から一気に技術よりに。

ブロックチェーンビットコインの技術は、マスタリングビットコインから手に取るのが王道みたいで、早速amazonから買ってしまいました。 けど、今日になって気づいたんですが、原文とその日本語訳がGitHubなどなどに無料で公開されているんですね。。 こちらのページからPDFでダウンロードできます。

内容に関しては、オープンなライセンスとのことなので、しばらくは、このオープン版の内容の流れですすめていきます。 無料版、有料版とも、今の最新のコマンド、内容等をここのブログで補っていければ。

さてさて、概要は飛ばして、、まずはBitcoin Coreのインストールから。

環境

VirtualBox6.0 上の Ubuntu18.10(インストール直後)

0.ライブラリ、ツールのインストール

$ sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev
$ sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler
$ sudo apt-get install libqrencode-dev autoconf openssl libssl-dev libevent-dev
$ sudo apt-get install libmini
$ sudo apt-get install libminiupnpc-dev
$ sudo apt-get install git

1.bitcoinソースの取得

$ mkdir git
$ cd git
$ git clone https://github.com/bitcoin/bitcoin.git

2.Berkley DB 4.8.0の取得、コンパイル

$ cd ~
$ mkdir bitcoin
$ mkdir bitcoin/db4/
$ cd bitcoin/db4/
$ wget http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz
$ tar xvzf db-4.8.30.NC.tar.gz
$ cd db-4.8.30.NC/build_unix/
$ ../dist/configure -enable-cxx -disable-shared -with-pic -prefix=/home/theusername/bitcoin/db4/
$ sudo make install
libtool: compile:  g++ -c -I. -I../dist/.. -D_GNU_SOURCE -D_REENTRANT -O ../dist/../cxx/cxx_db.cpp  -fPIC -DPIC -o cxx_db.o
In file included from ../dist/../dbinc/mutex_int.h:12,
                 from ../dist/../dbinc/mutex.h:15,
                 from ./db_int.h:884,
                 from ../dist/../cxx/cxx_db.cpp:11:
../dist/../dbinc/atomic.h:179:19: error: definition of ‘int __atomic_compare_exchange(db_atomic_t*, atomic_value_t, atomic_value_t)’ ambiguates built-in declaration ‘bool __atomic_compare_exchange(long unsigned int, volatile void*, void*, void*, int, int)’
 static inline int __atomic_compare_exchange(
make: *** [Makefile:2018: cxx_db.o] エラー 1

コンパイルエラーになる。。

3.Berkley DB 4.8.0の取得、コンパイル、インストール(再チャレンジ)

$ sudo add-apt-repository ppa:bitcoin/bitcoin
$ sudo apt-get install libdb4.8-dev libdb4.8++-dev
$ sudo apt-get  install libdvel
$ cd ~/git
$ git clone https://github.com/tinybike/get-bdb-4.8.git
$ cd get-bdb-4.8/
$ ./install.sh ../bitcoin/

今度は、インストール成功

4.Bitcoin Coinのコンパイル、インストール

$ cd ../bitcoin/
$ ./autogen.sh
$ mkdir ~/bc
$ ./configure --prefix=$HOME/bc
$ make install

Bitcoin Coinもインストールできたぜ!

上に手順は書いてませんが、仮想マシン2台Ubuntuを用意し、BitCoin Coreのバージョンは、 v0.16.0 と v0.17.99 を入れています。