MacにHyperledger Fabricでブロックチェーン環境を構築・送金


勉強中。開発者モードの動作確認。
執筆段階では仕組みを理解していないので、とりあえず動作方法だけ。

事前準備

Mac上にインストールが必要なもの

  • git client
  • golang
  • Virtualbox
  • Vagrant

VagrantでVirtualbox上にVMを作成するため、VagrantとVirtualboxをインストールする必要がある。

Virtualboxをインストール

Virtualboxからダウンロードしてインストール。

Vagrantをインストール

golangをインストール

git clientをインストール

Vagrantを使ってHyperledger環境を構築

Githubからcloneしてくる

dockerのバージョンを指定する

dockerが最新版だと動作しないため。VM上のUbuntuにインストールするdockerのバージョンを指定する。

VMのメモリを設定する

自前のMacが8GBしかメモリがないため、デフォルトで指定してあるVMのメモリを4096->2048に指定する。
メモリに余裕がある場合は不要。

環境構築する

VMの設定

MacのターミナルからVMへsshでログインして扱えるようにする。
Virtualboxの画面上で操作する場合は不要。

ホストオンリーネットワークを作成する

Virtualboxを開くと hyperledger というVMが立ち上がっているため、一度停止する。

VirtualboxのPreferencesを開く。

Network->Hostonly Networksタブを開き、追加マークをクリックする。
するとvboxnet0が作成されるので、それをダブルクリックする。

IPv4 Addressを控える。
(以下の説明では192.168.56.1として説明する。)

OKを押してVirtualboxの画面を開き、hyperledgerを選択してSettingsを開く。

Networkを開き、Adapter2タブを開く。
Enable Network Adapterにチェックを入れ、Attached to: で Host-only Adapter を選択し、OKを押す。

hyperledgerを選択し、Startをクリックして起動する。

VMの画面を開き、ログインする

Virtualboxを開き、hyperledgerをクリックする。

キーを押すと画面上に「login:」が表示される。「vagrant」と入力し、Passwordにも「vagrant」と入力する。

キーボードが英語配列のため、日本語配列に直したい場合は以下を参考に。

キーボードレイアウト変更(ubuntu)

ネットワークを追加する

/etc/network/interfacesを編集する。
編集する際にvimがないと編集しづらいので、インストールする。

ネットワークを再起動して、eth1が追加されていることを確認する。

これでMacのターミナルからSSHでログインできるようになった。
試しにMacのターミナルからログインしてみる。

Hyperledger Fabricを起動する

各プロセスを起動する

tmuxで複数プロセスを起動する必要がある(別のターミナルを開いてもできる)。

トランザクションを試す

Hyperledgerのトランザクションは「deploy」「invoke」「query」の3つある。

チェーンコード呼ばれる各トランザクションを処理するプログラムがあり、「deploy」はチェーンコードとデプロイするトランザクション。
「invoke」は送金などの処理を行うトランザクション。
「query」は現在の残高などを確認するトランザクション。

今動かしている「chaincode_example02」というチェーンコードは上の説明どおりだが、実際にはもっと抽象的で、「deploy」と「invoke」はデータ(ワールドステートと呼ぶ)を作成、更新するトランザクションで、「query」は参照するのみのトランザクション、らしい。

とにかく人を作って、送金して、送金を確認してみる。
jimというサンプルユーザーがあるので、jimを使う。

実際に送金できている。

まとめ

とりあえず動いたので、今後は理解に努める。理解できたら更新していく。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です