Develop with pleasure!

福岡でCloudとかBlockchainとか。

Bitcoindのセットアップ

P2P型の暗号通貨であるBitcoinのクライアントであるBitcoindをセットアップしてみた。

こちら近畿大学山崎研究室 | 仮想通貨実験プロジェクトのブログを参考にセットアップ。

環境
  • 【OS】AWSのEC2で提供されてるUbuntu Server 14.04 LTS (HVM), SSD Volume TypeのAMIを使用。
  • 【ディスク】EBSベースのEC2のデフォのSSDのサイズ8GBでは、ブロックチェーンのDBの容量が全然足りないので、とりあえず60GBほど確保。
bitcoindのインストール

まずはパッケージリポジトリを追加してbitcoindをインストール。(bitcoin-qtはGUI版のクライアント)

$ sudo apt-add-repository ppa:bitcoin/bitcoin
$ sudo apt-get update
$ sudo apt-get install bitcoind bitcoin-qt

続いて

$ bitcoind

を実行すると(この段階ではエラーになる)$HOME/.bitcoinディレクトリが生成されるので、その直下に↓の内容でbitcoin.confを作成する。rpcuserとprcpasswordはbitcoindを実行した際に推奨値が表示されるのでそれをそのまま利用。

rpcuser=RPCサーバへ接続するときのユーザ名
rpcpassword=RPCサーバへ接続するときのパスワード
txindex=1
server=1
daemon=1
bitcoindの起動とブロックチェーンの同期

↓のコマンドでbitcoindがdaemonとして起動。

$ bitcoind -daemon

起動したdaemonの停止はbitcon-cliコマンドで可能。

$ bitcoin-cli stop

bitcoindが起動するとブロックチェーンの同期が開始され、同期されたブロック数は下記コマンドで確認できる。

$ bitcoin-cli getblockcount
350348

どれくらい同期が進んでるのかは、

https://blockchain.info/q/getblockcount

にアクセスすると最新のブロック数が分かるので、これとgetblockcountの結果を比較すれば分かる。

※ 同期が終わるのに大体1日くらいかかるので、これが待てないという場合は↓に書かれてるようにtorrentでbootstrap.datを予めダウンロードしてそれを取り込むというアプローチもある。

qiita.com

同期が完了した時点でディスク容量を確認すると現時点で約40GBほどのディスクを消費。
結構ディスク食うと思ったけど、Bitcoinの全取引履歴が格納されていると思うと意外と少ないかも。