言わずと知れた仮想通貨(本当は暗号通貨と呼ぶのが正しい)です。ビットコインとは、ブロックチェーンという出納台帳により、所有が保証されている資産です。(永遠不滅の資産です)
現在は、少額決済(コイン)として使うものではなく、長期保有による資産の保全となっています。(資産が増えるのは結果論ですが、需要と供給のバランスから高騰するのは当然といえるでしょう)
PHPからビットコインを操作したいというニーズは多いと思います。例えば、あなたが新規サービスを作成し、そのサービスへの対価としてビットコインを受け取りたいなどです。
結論から先に書けば、bitcoind というデーモン(常駐プログラム)を、あなたのサーバーで起動すれば、いわゆる支払いができるようになります。
bitcoind とは、あなたのサーバー(サービス)に関わる売買記録をブロックチェーンに記録してくれるサービスです。
Macにビットコインをインストールするだけであれば、Homebrew や MacPorts に bitcoind のパッケージがあります。
それをインストールすれば、bitcoind の起動に必要な依存ライブラリも全てインストールされます。
ビットコインは、オープンソースソフトウェアです。ソースコードは github にあります。
これは、Satoshi Nakamoto のコミット履歴もある、ビットコインのリファレンス(公式実装)です。Bitcoin Core と呼ばれています。
リファレンスということは、bitcoind (bitcoin core)以外のビットコイン・プログラムもあるということです。
ビットコインとは、ブロックチェーンを読み書きするためのツールだといえます。これはC++で書かれた実装ですが、C# や Java や Go で書かれたライブラリもあります。もちろんPHPで書かれたライブラリもあります。
しかしながら、安定してビットコイン・ネットワークに参加するには、やはり bitcoind となるでしょう。
それでは実際の作業を始めましょう。
まずは、bitcoin core をダウンロードします。
git clone https://github.com/bitcoin/bitcoin.git cd bitcoin ls -l
autogen.sh
とconfigure
は初期設定です。
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 の操作については、また次回。