Tech

Mac OS X で bitcoind をコンパイル、インストールする方法

  • このエントリーをはてなブックマークに追加

環境: Mac OS X 10.9.2
2014年3月27日時点の情報です。

事前準備

  • XCode
  • Git
  • Homebrew か MacPorts (今回はHomebrewのみ説明)

手順

Homebrew で 依存するソフトウェアをインストール

brew install autoconf automake libtool berkeley-db4 boost miniupnpc openssl pkg-config protobuf qt

opensslのバージョンをチェック

openssl version

OpenSSL 1.0.1f 6 Jan 2014. と表示されるはず。
とマニュアルに書いてあるが、僕の環境では以下のように表示された。

% openssl version
OpenSSL 0.9.8y 5 Feb 2013

表示されない場合は…

/usr/bin/openssl を叩いているだけで、/usr/local/bin/openssl を実行させればいいだけかも。
* その場合は、shellのpathの検索順序を変える
* rehash とか which openssl 等で確認する。

でも、ダメな場合、以下をする

% brew link openssl --force
Linking /usr/local/Cellar/openssl/1.0.1f... 1139 symlinks created

これで、正しくバージョンを表示するはず…

bitcoind をビルド

  1. GitHubをクローンして、ソースコードをゲット!
git clone https://github.com/bitcoin/bitcoin.git
cd bitcoin
  1. bitcoind をビルド
./autogen.sh
./configure
make

コンパイル時間: 僕の MacBook Air で20分位?

  1. ユニットテストを実行
make check

インストール

マニュアルには、インストール方法は書いてないが…
インストールは、場所やパーミッションに注意して下さい。

make install すると /usr/local/bin 以下に入る
なぜか普通のユーザ権限でも入っちゃうので、bitcoindはパーミッションに注意必要?

以下が配置される

  • bitcoin-cli
  • bitcoind
  • bitcoin-qt

実行

srcディレクトリに bitcoind ができる

bitcoin.conf

以下のコマンドで bitcoin.conf を作る

echo -e "rpcuser=bitcoinrpc\nrpcpassword=$(xxd -l 16 -p /dev/urandom)" > "/Users/${USER}/Library/Application Support/Bitcoin/bitcoin.conf"
chmod 600 "/Users/${USER}/Library/Application Support/Bitcoin/bitcoin.conf"

bitcoin.confの設定の仕方は、以下を参考に

bitcoin.conf の書き方 まとめ | block-chain.jp

実行

注意) 本番ブロックチェーン(livenet)は、30Gとかあります。開発の場合は、testnetをを使うといいでしょう。

実行するとブロックチェーンをダウンロードし始める。が、何も表示しない。
これは数時間かかるかもしれない。
プロセスを見たい場合は、以下を実行

tail -f $HOME/Library/Application\ Support/Bitcoin/debug.log

実行コマンドの例

$ /usr/local/bin/bitcoind -debug -debugnet -printtoconsole

その他コマンド

./bitcoind -daemon # to start the bitcoin daemon.
./bitcoin-cli --help # for a list of command-line options.
./bitcoin-cli help # When the daemon is running, to get a list of RPC commands

開発&テスト用Bitcoinネットワーク

以下のスライドが参考になります。
VMwareでいくつかのデーモン、クライアント作成してテストのようで。

Bitcoin testnet

注意

  • ブロックチェーンが、本番ネットワークで何十G, テストネットでも数Gもあるので、サーバやWifiの転送量に注意。
  • メモリも食うようです。メモリ少ないPCや、レンタルサーバ等は注意。

ちなみに

僕の環境では、以下のようなwarningが出ました。

% ./autogen.sh [master]
configure.ac:712: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
configure.ac:712: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
configure.ac:712: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
configure.ac:712: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
configure.ac:712: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')

参考URL

公式GitHubレポジトリの説明(英語)
bitcoin/doc/build-osx.md at master · bitcoin/bitcoin

  • このエントリーをはてなブックマークに追加