Macでビットコイン(bitcoind)をビルド(コンパイル)する方法

ビットコインとは

言わずと知れた仮想通貨(本当は暗号通貨と呼ぶのが正しい)です。ビットコインとは、ブロックチェーンという出納台帳により、所有が保証されている資産です。(永遠不滅の資産です)

現在は、少額決済(コイン)として使うものではなく、長期保有による資産の保全となっています。(資産が増えるのは結果論ですが、需要と供給のバランスから高騰するのは当然といえるでしょう)

プログラムとしてのビットコイン

PHPからビットコインを操作したいというニーズは多いと思います。例えば、あなたが新規サービスを作成し、そのサービスへの対価としてビットコインを受け取りたいなどです。

結論から先に書けば、bitcoind というデーモン(常駐プログラム)を、あなたのサーバーで起動すれば、いわゆる支払いができるようになります。

bitcoind とは?

bitcoind とは、あなたのサーバー(サービス)に関わる売買記録をブロックチェーンに記録してくれるサービスです。

Macにビットコインをインストールするだけであれば、Homebrew や MacPorts に bitcoind のパッケージがあります。

それをインストールすれば、bitcoind の起動に必要な依存ライブラリも全てインストールされます。

Bitcoin Core について

ビットコインは、オープンソースソフトウェアです。ソースコードは github にあります。

これは、Satoshi Nakamoto のコミット履歴もある、ビットコインのリファレンス(公式実装)です。Bitcoin Core と呼ばれています。

リファレンスということは、bitcoind (bitcoin core)以外のビットコイン・プログラムもあるということです。

ビットコインとは、ブロックチェーンを読み書きするためのツールだといえます。これはC++で書かれた実装ですが、C# や Java や Go で書かれたライブラリもあります。もちろんPHPで書かれたライブラリもあります。

しかしながら、安定してビットコイン・ネットワークに参加するには、やはり bitcoind となるでしょう。

Bitcoin Core のダウンロード

それでは実際の作業を始めましょう。

まずは、bitcoin core をダウンロードします。

git clone https://github.com/bitcoin/bitcoin.git
cd bitcoin
ls -l

bitcoind のコンパイル(ビルド)

autogen.shconfigure は初期設定です。

make でコンパイル(ビルド)を行います。

make check でビルドをチェックします。

./autogen.sh
./configure --without-gui
make -j4
make check

--without-guiは、QTで作成されたウォレットアプリの作成をしないオプションです。

-j4は、ジョブ数を4つに増やすオプションです。この数字は、一般的にCPUのコア数に対して2倍が良いと言われています。

問題なければ src ディレクトリに bitcoind が作成されています。

src/bitcoind --version

バージョン情報が表示されましたか?

具体的な bitcoind の操作については、また次回。

落合陽一さんの発言について

動画の4:15

落合陽一「いやもうみんな分かってんですよ」

編集長←誰?「何が?」

落合陽一「お金を盗むことが本質じゃなくって、価格を操作することが本質な不正アクセス」

いや、違うだろ?!

単純に、お金を盗むことが目的ですよ。