HyperLedger fabricを始めるあなたにおすすめする見ておくべきサイト8選
DaiDaiです。HyperLedger fabricを始める際に見ておくべきサイトを紹介しようと思います。
今回は基本的な理解と共に最新の情報をどこからどのように仕入れればいいのかをメインに考えて選びました。というのもHyperLedger fabricは現状未成熟で情報の入れ替わりが本当に早いからです。昨日うまく動いていた機能が今日動かなくなっていることが結構な頻度であります。
そのため、最新の情報を追う必要があります。事実としてversion0.6とversion1.0ではコンセンサスの仕組みすら変わっています。それくらいスピード感があるプロジェクトなので知っているか知らないかでキャッチアップの速度が本当に変わっていくと思います。
では紹介していきましょう!
■Document
公式のDocumentです。見てわかる通りすべて英語で記述されています。僕は英語を読めないのでいつもGoogle翻訳先生に助けてもらっています。
正しい情報を知りたいのであればここを最初に読むのが一番おすすめです。Version毎に記載されている内容が違うので基本最新のversionに設定して読んだ方がよいです。
http://hyperledger-fabric.readthedocs.io/en/release-1.1/index.html
■Jira
HyperLedger fabricのタスクやバグ管理、リリース情報などが記載されています。Documentではこう書いてあるけど実際に動かしたらエラーが出たんだけどといった時にはここのバグ管理表を見るといいかもしれません。ここももちろん英語です。
https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10104
■chat
HyperLedger fabricのコミュニティです。Documentにも書いてないし、調べても出てこないという状態ではもう聞くしかありません。有識者がChatにはたくさんいるのでガンガン聞きましょう。僕は何度も「君の英語はよくわからない」と言われましたが、きちんと聞くときちんと答えてくれる人が多いので迷惑かな?と思わず、積極的に聞きに行きましょう。
https://chat.hyperledger.org/channel/general
■fabric-sample
環境構築をして実際に動かそうと思っても何からやればいいんだってなりますよね。そこで使えるのがこのfabric-sampleです。HyperLedger fabricのtutorialを体験できます。Node.jsのSDKを使えるのでjavascriptに詳しい人は理解もしやすいと思います。またノードの起ち上げなどもコマンドを一つ流すだけで実行できるのでとても簡単。また機能ごとに動かし方の説明がdocumentとコマンドでされているので理解しやすいと思います。
https://github.com/hyperledger/fabric-samples
■IBMのHyperledger Fabric 入門
ここまで英語ばかりでしんどいですよね。ぼくもしんどかったです。IBMのHyperLedger fabric入門では、日本語のdocumentでとてもわかりやすく、基本的な部分に動きに触れています。もちろん詳細な部分は現状英語のdocumentを読むほうが適していると思います。最初にざっくりとした概要をつかみたいというのであればまずIBMのdoucumentを読んどけおけば間違いないでしょう。
https://www.ibm.com/developerworks/jp/cloud/library/cl-hyperledger-fabric-basic-1/index.html?ca=drs-
■docker
dockerコマンドの説明です。
HyperLedger fabricでは大きく分けてPeer、CA、Ordererの3種類のノードを使います。ここで説明はしませんが、それぞれ役割が違うノードで本来であれば各サーバーにそれぞれ置く必要があります。最小構成としてPeer2台、CA1台、Order1台の合計4台のサーバーが必要になるはずです。ただ実際のところ個人でサーバー4台借りて動かすのはしんどいです。なのでfabric-sampleで提供されているものはすべてのノードを同じサーバー内で動かすためにdockerを使用しています。
http://morizyun.github.io/docker/about-docker-command.html
■Go言語
Go言語の勉強用のサイトです。
HyperLedger fabricにはChainCodeというEthereumでいうSmartContractと同様の仕組みを持った機能があります。Ethereumだとsolidityという言語でSmartContractを書きますが、HyperLedgerでは、Go言語でChainCodeを書きます。
※Go言語は2009年にGoogleによって作られたオープンソースの静的言語で、Linux・Mac・WindowsやAndroidで動作します。最近ではGoogle App Engineで使うこともできます。
https://go-tour-jp.appspot.com/welcome/1
■Tool
これはサイトではないのですが、僕は必須だと思うので紹介させてください。ato-ichinenというChromeの拡張機能です。
機能としてはGoogleでの検索結果を1年、1か月、1週間、1日前と絞り込めるシンプルなものになっています。冒頭でも話しましたが、HyperLedger fabricはは情報の入れ替わりが早いです。この機能があれば問題解決のスピード感がだいぶ違ってくるはずです。
https://chrome.google.com/webstore/detail/ato-ichinen/pojaolkbbklmcifckclknpolncdmbaph
終わり
良さそうなサイトがあれば随時更新していきます。(´ー`)