はじめに
近頃仮想通貨が盛り上がりを見せている。自分もbitflyerでウォレットを作って1万円だけ入れて遊んだり、google先生に聞いたり、https://minergate.com でお手軽マイニングをしているが、まだまだ技術的に分からない部分がある。理解を深めるために、ビットコインを自分の環境内のみで動かしたい。
今回は手始めにVirtualBox+vagrantで仮想ノードを作り、その上でビットコインのマイニングプログラムを動かすところまでのメモを書いておく。
この環境構築ができれば実際に動いているブロックチェーンに参加できるので、ビットコインをマイニングしたいという人もぜひ。
VirtualBoxとvagrantの関係が分からない人は「ここ」を見ると理解し易いのでオススメ。
インストール
VirtualBox
「ここ」からダウンロード&インストール
インストール後再起動推奨
vagrant
「ここ」からダウンロード&インストール
環境
$ system_profiler SPHardwareDataType
Hardware:
Hardware Overview:
Model Name: MacBook Pro
Model Identifier: MacBookPro12,1
Processor Name: Intel Core i7
Processor Speed: 3.1 GHz
Number of Processors: 1
Total Number of Cores: 2
L2 Cache (per Core): 256 KB
L3 Cache: 4 MB
Memory: 16 GB
....
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.13.1
BuildVersion: 17B48
$ VBoxManage -v
5.1.30r118389
$ vagrant -v
Vagrant 2.0.0
ディレクトリを作り、移動
$ mkdir bit_birtual
$ cd bit_birtual/
vagrantを起動
「ここ」から使用したいboxを選んでURLをコピペ
CentOS7.2だとスムーズにいけるので今回はCentOS7.2で
# vagrant box add [box名] [boxのURL]
$ vagrant box add centos7.2 https://github.com/CommanderK5/packer-centos-template/releases/download/0.7.2/vagrant-centos-7.2.box
$ vagrant init centos7.2
$ vagrant up
次回以降はvagrant up
のみで良い
仮想環境にログイン
$ vagrant ssh #ローカル
[vagrant@localhost ~]$ #仮想環境
ビットコインのサーバープログラムをインストール
「ここ」を参考にビットコインのプログラムを仮想環境の各ノードにインストール
vagrant ssh
を実行したときに下のようにlocale関連のwarningが出る人はLC_ALLにCを入れておく
$ vagrant ssh
Last login: Sat Nov 18 06:19:56 2017 from 10.0.2.2
-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
[vagrant@localhost ~]$ export LC_ALL=C
各種ツールをインストール
[vagrant@localhost ~]$ sudo yum install yum-utils
[vagrant@localhost ~]$ sudo rpm -Uvh https://linux.ringingliberty.com/bitcoin/el7/x86_64/bitcoin-release-3-1.noarch.rpm
[vagrant@localhost ~]$ sudo yum-config-manager --enable rhel-7-server-optional-rpms
[vagrant@localhost ~]$ yum -y install bitcoin-server bitcoin-utils
使用コマンドの確認
[vagrant@localhost ~]$ bitcoind -version
Bitcoin Core Daemon version v0.15.1.0-g7b57bc998f3
Copyright (C) 2009-2017 The Bitcoin Core developers
....
[vagrant@localhost ~]$ bitcoin-cli -version
Bitcoin Core RPC client version v0.15.1.0-g7b57bc998f3
おわりに
これでビットコインのマイニング環境は整った。実際に動いているブロックチェーンに参加することもできる。
次回は仮想マシンを複数立ててローカル環境でブロックチェーンを動かすところまでいきたい。