Macでブロックチェーンに触れてみた -Marbles Demo-


Hyperledger FabricのMarbles Demoを動かすまで

まずは実行前に色々インストールします

自分がHyperledgerFabricの環境をインストールしたディレクトリへ移動
$cd HyperledgerFabric

git cloneでサンプルをとってきます。
この時v4.0とバージョン指定してください。

$ git clone http://github.com/IBM-Blockchain/marbles.git --single-branch --branch v4.0

インストール後mablesというフォルダがあるのでそこへ移動します。

marblesに移動
$ cd marbles

package.jsonに “grpc”: “1.10.1” を追加します

package.jsonを編集
$ vim package.json 


場所は赤線部分です。

次に依存モジュールをインストールしていきます。

依存モジュールをインストール
$ sudo npm install gulp -g

ここで何やらエラーを吐かれました。
npmのバージョンが違う的なことを言われています。
3.10.10にダウングレードします。

npmのダウングレード
$sudo npm install [email protected] -g

しかし、以下のようなエラーが、、、

npmの公式を確認しに行くと以下の手順でいけるそうです。

npmのディレクトリのパスを確認
$ npm config get prefix
/usr/local
npmディレクトリのオーナーを自分のアカウントに変更する
 $sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

この手順を踏んでから再チャレンジしたところ行けました。

依存モジュールをインストール
$ sudo npm install gulp -g
$ npm install

実行していきます

5つのステップでMarbles Demoの実行をしていきます。
1. ブロックチェーンネットワークを起動
2. チェーンコードを導入
3. Mables Demoの起動
4. Webブラウザでアクセス
5. 初回のみ初期設定

ブロックチェーンネットワークを起動

ブロックチェーンネットワーク起動
$ cd HyperledgerFabric/fabric-samples/basic-network
$ rm -fr ~/.hfc-key-store
$ mkdir ~/.hfc-key-store
$ ./start.sh

チェーンコードを導入

チェーンコードの導入はPeerへのインストールとインスタンス化の2ステップで行います。

チェーンコードをインストール
$ cd ~/HyperledgerFabric/marbles
$ cd scripts
$ node install_chaincode.js 
チェーンコードのインスタンス化
$ node instantiate_chaincode.js 

Mables Demoの起動

Demoの起動
$ cd ../   <—marblesに移動
$ gulp marbles_local & 
  (略)
debug: Open your browser to http://localhost:3001 and login as "admin" to initiate startup

Webブラウザでアクセス

起動するとURLとログインに必要な"admin"というユーザ名みたいなのが出力されます。
そこへアクセスします。

初期設定

スクリーンショットを撮り忘れました。
以下の手順でいけるので公式の画像などを参考にして設定してください。

Start—>Next Step—>Next Step—>Next Step—>Create—>(アニメーションが停止するのを待ってから)Next Step—>Enter

以上のやり方でDemoが起動できました。