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

NO IMAGE

環境: 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

     

免責事項

本記事に掲載されている記事の内容につきましては、正しい情報を提供することに務めてはおりますが、提供している記事の内容及び参考資料からいかなる損失や損害などの被害が発生したとしても、弊社では責任を負いかねます。実施される際には、法律事務所にご相談ください。

技術・サービス・実装方法等のレビュー、その他解説・分析・意見につきましてはblock-chani.jp運営者の個人的見解です。正確性・正当性を保証するものではありません。本記事掲載の記事内容のご利用は読者様個人の判断により自己責任でお願いいたします。

     

コンセンサス・ベイス(株)とブロックチェーン事業を行なってみませんか?

当サイトを運営するコンセンサス・ベイス株式会社は、2015年設立の国内で最も古いブロックチェーン専門企業です。これまでに、大手企業の顧客を中心に、日本トップクラスのブロックチェーンの開発・コンサルティング実績があります。

ブロックチェーンに関わるビジネスコンサル・システム開発・教育・講演などご希望でしたら、お気軽にお問い合わせください。

     
     

ブロックチェーン学習に最適の書籍の紹介

図解即戦力 ブロックチェーンのしくみと開発がこれ1冊でしっかりわかる教科書

ブロックチェーン イーサリアムへの入り口 第二版 (ブロックチェーン技術書籍)

本書は、ブロックチェーン技術に興味を持ったエンジニアや、その仕組みを学び、自分の仕事に活かしたいビジネスパーソンを対象にして、ブロックチェーンのコア技術とネットワーク維持の仕組みを平易な言葉で解説しています。この本を読んだうえで、実際にコードを書くような専門書、ブロックチェーンビジネスの解説書を読むことで、理解度が飛躍的に高まるでしょう。(はじめにより)

ビットコイン(Bitcoin)カテゴリの最新記事