とりあえずHyperledger FabricのChaincodeが動く環境がほしいときのいくつかの方法
EthereumやらPermission-lessなブロックチェーンは盛り上がっていてうらやましいですね。Hyperledger Fabric(HLF)界隈も盛り上げていきたいですね。ですね、と言っていても盛り上がらないのでせめて役に立ちそうなやつを書いていきます。やっていきましょう
まとめたこと
- 自分で書いたHLFのChaincodeを動かしてみたい、とりあえず動かせればいいんだ俺は、耐障害性とか運用とかはあとで考える、というひと向けにとりあえずChaincodeが動く環境を手に入れるための方法と、その際に参考になりそうな情報をまとめています
- Chaincodeの開発環境構築とかビルドとかデプロイとかの話はここではしません
内容
以下把握している範囲で挙げています。他にもあるよって方は教えてください
イチからがんばって作る
公式ドキュメントなどを参照しつつ、まじめに環境を構築する方法です。very オープンソースですね。かなりのがんばりが求められます。がんばってください
公式ドキュメントはここだ。しかしあまり親切ではない、そして英語
死屍累々のHLF構築トライ界に颯爽と現れた救世主、黄色本も助けになります。日本語だ、ありがてえ
配布されているサンプルを使う
パブリックに配布されているサンプルを使ってショートカットする方法です
公式サンプル
あるよ。公式ドキュメントに書いてある通りに進めていくとsample-networkを構築できます。構築するHLFのバージョンを選べる利点があります。環境ができたら温めていたChaincodeをデプロイして存分に呼び出し、あー動いたと眺める、あー動かないと眺めるなどしましょう
- ドキュメント: https://hyperledger-fabric.readthedocs.io/en/latest/build_network.html
- やってみた: Hyperledger Fabricのビルド方法とネットワーク構築 - Qiita
なんと構築済のVMも公開してくれている、ありがたいですね。HLFのバージョンはv1.1です
その他の構築済VMとか
公式sample-network以外にもgithub等で構築済のVMを探せばたぶん見つかります。デプロイ済のChaincodeを含んだ環境もたぶんあると思います、たぶんと言っているのは前に見た気がするが今回探していないから。HLFのバージョンには注意しましょう
クラウドサービスで提供されているテンプレートを使う
クラウドサービス上のマーケットプレイスなどのかたちで提供されているテンプレートを使ってIaaS上に環境を構築する方法です
AWS
- ドキュメント: Hyperledger Fabric 用の AWS Blockchain Template を使用する - AWS Blockchain Templates
- やってみた: 【速習】AWS Blockchain Templatesを使ってHyperledger Fabricを構築してみる | BlockChain Online ブロックチェーンオンライン
複数Organizationのネットワークで、ひとつのVM上に複数Peer、Ordererが載っている構成のようです。ネットワークやブロックをGUIで見られるツールのHyperledger Explorerも含まれているみたいですね。HLFのバージョンはわかりません
Azure
- ドキュメント: Hyperledger Fabric コンソーシアム | Microsoft Docs
- やってみた: Hyperledger Fabric on Azure触ってみた - Qiita
単一Orgnizationのネットワークで、Peer、Orderer、CAなどノードごとにVMがセットアップされる構成です。こちらは私も試してみました。HLFのバージョンはv1.0でした(2018/11/12)
PaaSを使う
PaaSとして提供されているHLFを使う方法です。環境構築はインスタンス作成時にちょちょっとパラメータを入力するだけで自動でやってくれる、GUIで構成、設定、Chaincodeのデプロイ等ができる、PaaSとしてのドキュメント、ガイドがあるなどでとっつきやすい。Chaincodeの動作(の少なくとも基本的なところ)は他のHLFと変わらない&開発補助のための機能が提供されていたりするので、たぶん一番楽
Oracle Blockchain Cloud Service
- サービスのページ: Blockchain Cloud Service | Oracle Cloud
- ドキュメント: Oracle Blockchain Cloud Service - Get Started
- やってみた: N/A
IBM Blockchain Platform
- サービスのページ: Blockchain - IBM Cloud
- ドキュメント: IBM Cloud Docs
- やってみた: N/A
備考
HLFをちょっと動かしてみたい程度のときに使いやすかったフレームワークHyperledger Composerはどうも新規機能の開発が止まったようで、HLF本体へのバージョン追随などのメンテナンス含め今後の見通しが不透明です Hyperledger Composer has been put on pause, what are your options now?