技術情報

Hyperledger Fabric 1.0.6 を Raspberry Pi で実行する環境の構築

Fabric × Raspberry Pi

はじめに

以前の記事で Ethereum をRaspberry Pi上で動作させるものがありました。

今回は、「医薬品のデッドストック販売プラットフォーム PoC」で利用した “Hyperledger Fabric” を Raspberry Pi上に構築し、Hyperledger FabricのチュートリアルにあるBuilding Your First Networkの動作を確認してみます。


セットアップ

各種ツールインストール

Prerequisites — hyperledger-fabricdocs master documentation
こちらで必要とされているものを順次インストールします。

Docer / Docker-Compose

Node.js

Go

FabricのDockerイメージビルド

Fabricとしての動作と、チュートリアルの実行のために、いくつかのリポジトリのクローンと、Dockerイメージのビルドを行ないます。

最初のfabric-baseimageのmakeには4時間程度必要でした。それ以外は、数分程度で終わりました。

すべて完了すると、下記のようにイメージが作成されます。

チュートリアル実施

チュートリアルの内容は、Hyperledger Fabricのオフィシャルサイトにあります。

Building Your First Network — hyperledger-fabricdocs master documentation

実行

チュートリアルに必要なリポジトリをクローンし、実行してみます。

しばらくは進んで行きますが、途中でエラーが発生してしまいました。

エラーを解決して再実行

原因を調査していくと、解決方法に関する情報を見つけました。
エラーメッセージにあるようにDockerで利用できるメモリ量が少ないため、これを多くするための調整を行なえば良いようです。

GitHub – Cleanshooter/hyperledger-pi-composer: Docker Compose files and data for launching Hyperledger on a Raspberry PI Docker Swarm.

こちらの内容を元に、fabric-samples/first-network/base/docker-compose-base.yamlの各サービスのenvironmentCORE_VM_DOCKER_HOSTCONFIG_MEMORY=536870912を追加します。

これで、再び実行してみます。

無事に終了しました!
これで、Raspberry Piでも Hyperledger Fabric を動作させられることを確認できました。

課題

とはいえ、課題も感じています。

Raspberry Pi にとって、1台で Hyperledger Fabric フルセットの実行はかなりの負荷となっています。実行中のロードアベレージは概ね”10”前後となっており、本来のRaspberry Piの許容範囲の2〜3倍程度の処理が必要でした。

当然実行時間も長くなり、上記のチュートリアルの実行時間がおよそ8.5分でした。
同じ内容を手元のMacBook Proで実行すると概ね1.5分程度ですので、およそ5〜6倍程度の時間がかかることになります。

まとめ

エッジコンピューティングの環境として、Raspberry Pi でブロックチェーンが使えることは非常に夢があると思います。
IoTデバイスの入力をエッジサーバでブロックチェーンへ格納し、それが他のエッジサーバとリアルタイムに連携されていく、また、チェインコードの結果が低レイテンシーでIoTデバイスへ反映されていく、ということを低コストで実現できる可能性を個人的には感じています。

どういう構成、どういう処理であれば、現実的にRaspberry Piでブロックチェーンを使えるのか、引き続き調査を進めて行きたいと思います。

The following two tabs change content below.
tacck
アーキテクト at 株式会社INDETAIL
エンジニア (モバイルアプリ、フロントエンド、バックエンド、インフラ) 得意なことは、領域をまたいで考え、開発すること。 ブロックチェーンも、領域の一つとして取り込んでいきたいです。 好きなフィギュアスケートの技は、スプレッド・イーグル。

Pickup post

  1. ブロックチェーンの技術:公開鍵暗号
  2. ブロックチェーンの基本的な仕組み

Related post

  1. 技術情報

    超簡単なBlockchainプロトタイプを Golang で構築

    はじめにBlockchainの使い道や可能性として様々なユースケー…

  2. Blockchain 技術情報

    技術情報

    Windowsにgethを入れてEthereumの内部通貨etherを手に入れる

    ブロックチェーン初心者の自分が、手始めに「WindowsでEthere…

  3. Blockchain 技術情報

    技術情報

    Macにgethを入れてEthereumの内部通貨etherを手に入れる

    こんにちは。badyと申します。最近、金融やIT業界の一部では…

  4. Blockchain 技術情報

    技術情報

    JSON-RPC API で geth を便利に使う

    ブロックチェーンは、今後多くのサービス・システムに利用されることが期待…

  5. Blockchain 技術情報 Hyperledger Composer

    技術情報

    Hyperledger Composer クエリチュートリアルをやってみる その1

    はじめに今回の目的は、ビジネスネットワーク定義後の次のステップとし…

Comment

  1. 本記事に対するコメントはまだありません

  1. 本記事に対するトラックバックはまだありません

最近の記事

おすすめ記事

  1. ブロックチェーンの技術:公開鍵暗号
  2. ブロックチェーンの基本的な仕組み
  1. Blockchain 技術情報

    技術情報

    Raspberry Pi(ラズパイ)でEthereumを動かす
  2. Ethereum

    技術情報

    Ethereum入門 – アカウントとマイニング
  3. Blockchain 技術情報 Hyperledger Composer

    技術情報

    Hyperledger Composer クエリチュートリアルをやってみる その…
  4. Blockchain 技術情報

    技術情報

    Macにgethを入れてEthereumの内部通貨etherを手に入れる
  5. Concept of hacking

    ブロックチェーンとは

    改ざん(二重支払い)や複製ができない理由
PAGE TOP