MacでBlockChainを触ってみる(6)

Hyperledger Composerなんてあるんだ!と掴みに行ったが、あえなく消えた。消えていた・・・ということで、Hyperledger Fabric 2.2.0に挑戦していくところです。

What's new in Hyperledger Fabric v2.x

こちらのサイトは、日本語記述なので詳細はご覧いただきたいものの、いくつかHyperledger Fubric v2系統についてピックしてみます。

Decentralized governance for smart contracts

Fabric v2.0では、スマートコントラクトの非中央集権的な管理が導入されます。 これに伴い、チェーンコードのピアへのインストール、チャネルでの利用開始するときの手順が新しくなります。 新しいFabricのチェーンコード・ライフサイクルでは、エンドースメントポリシーといった チェーンコードのパラメータについて、複数の組織が合意することができます。 こののち、台帳とのやり取りのためにそのチェーンコードが使用できるようになります。 この新しいモデルは、以前のライフサイクルに比べると、以下のような改善点があります。

・複数の組織がチェーンコードのパラメータについて合意していなければならないこと
・より慎重なチェーンコードのアップグレード手順
・よりシンプルなエンドースメントポリシー・プライべートデータコレクションのアップデート
・検査可能なチェーンコードパッケージ
・一つのチャネルで、同じパッケージを使って複数のチェーンコードを起動すること
・チェーンコードのパッケージはチャネルメンバーの中で同一である必要がないこと

Using the new chaincode lifecycle

すでにデプロイされているFabricでは、Fabric v2.xでも以前のチェーンコード・ライフサイクルを 使い続けることができます。 新しいチェーンコード・ライフサイクルは、チャネルのアプリケーション・ケーパビリティがv2.0に アップデートされたときにのみ有効になります。 新しいチェーンコード・ライフサイクルの概要については、Fabric chaincode lifecycle のトピックを参照してください。

New chaincode application patterns for collaboration and consensus

新しいチェーンコードライフサイクルを支えている合意に至るための非中央集権的な方法と同じ方法を、 チェーンコードアプリケーションでも、 組織の同意を得てからデータ・トランザクションが台帳にコミットされるよう保証するために使うこともできます。

・自動的なチェック
・非中央集権的な合意

Private data enhancements

プライベートデータの共有と確認
コレクションレベルのエンドースメントポリシー
暗黙的な組織ごとのコレクション

プライベートデータのパターンについて知りたいときは、Private data (概念の解説ドキュメント) を参照してください。 プライベートデータ・コレクションの設定や暗黙的なコレクションについては、Private Data (リファレンス) を参照してください。

External chaincode launcher

外部チェーンコード・ランチャーの機能は、運用者が、好きな技術を使ってチェーンコードをビルド・起動できるように するものです。 デフォルトの挙動は、以前のリリースと同様に、Docker APIを用いてチェーンコードをビルド・起動するもので、 外部ビルダーとランチャーは必須ではありません。

Dockerデーモンへの依存の削除
コンテナに対する代替
外部ビルダー実行可能ファイル
外部チェーンコードサービス

外部チェーンコードランチャーの機能の詳細については、External Builders and Launchers を参照してください。

State database cache for improved performance on CouchDB

CouchDB を外部ステートデータベースとして利用するとき、エンドースメントや検証のフェーズでの 読み込みの際の遅延(delay)は以前から性能のボトルネックとなっていました。
Fabric v2.0では、新しいピアのキャッシュによって、処理の重い参照の多くを、高速なローカルキャッシュからの読み込みに 置き換えます。キャッシュのサイズは、core.yamlのプロパティである``cacheSize``で設定することができます。

Alpine-based docker images

v2.0から、Hyperledger FabricのDockerイメージは、セキュリティを重視した軽量なLinuxディストリビューションである Alpine Linuxを使用します。 これにより、Dockerイメージがよりはるかに小さくなるため、ダウンロードと起動速度が向上し、ホストのディスク使用量も 削減されます。 Alpine Linuxは、最初からセキュリティを考慮してデザインされており、Alpineディストリビューションの ミニマリストな性質は、セキュリティ脆弱性のリスクを大幅に減らします。

Sample test network

新しいFabricのテストネットワークが、fabric-samplesのレポジトリに含まれるようになります。 このネットワークは、アプリケーションやスマートコントラクトを簡単にテストすることができる モジュール化され、かつ、ユーザーフレンドリーなFabricのサンプルネットワークとなるように 作られています。 また、このネットワークは、cryptogenに加えて、認証局(CA)を用いたデプロイもサポートしています。

このテストネットワークについての詳細は、 Using the Fabric test network を参照してください。

Upgrading to Fabric v2.x

新しいメジャーリリースでは、新たにいくつかアップグレード時に注意すべき点があります。 でも大丈夫です。v1.4.xからv2.0へのローリングアップグレードはサポートされていますので、 ネットワーク内のコンポーネントはダウンタイムなしに順次アップグレードすることができます。

アップグレードに関するドキュメントは、大幅に書き直され拡充されており、Upgrading to the latest release に一か所にまとめられています。 ここでは、Upgrading your components や Updating the capability level of a channel 、 また、特に各v2.xへのアップグレード時の注意すべき点 Considerations for getting to v2.x といったドキュメントを見ることができます。

Release notes

リリースノートには、ユーザーが新しいリリースに移行する際の詳細な情報があります。 特に、各v2.xのリリースにおける変更点や非推奨となった項目のアナウンスには目を通しておきましょう。

Fabric v2.0.0 release notes.
Fabric v2.0.1 release notes.
Fabric v2.1.0 release notes.
Fabric v2.1.1 release notes.
Fabric v2.2.0 release notes.

ということで、一通り目を通すことができたら、Getting Startedに進みましょう。

Getting Started

最初に、ブロックチェーンアプリケーションを開発したり、Hyperledger Fabricを運用したりするプラットフォームに、必要な ソフトウェア がインストールされていることを確認します。

Fabricのバイナリの本当のインストーラは現在開発中ですが、あなたのシステムに インストール するためのスクリプトを提供しています。 スクリプトはDockerイメージもローカルレジストリにダウンロードします。

ということで、インストールに進んでいきます。

スクリーンショット 0003-06-24 23.35.15



Fabric SamplesとDockerイメージをローカルマシンにダウンロードしたら、チュートリアル test_network を使ってFabricを使い始めることができます。

Using the Fabric test network

https://hyperledger-fabric.readthedocs.io/ja/latest/test_network.html

スクリーンショット 0003-06-25 10.03.02

こちらのページでも、Before you beginとして準備をするため、前提条件サンプル、バイナリ、Dockerイメージのインストール についてリンク先で解説されていますので、次でその辺りを追っていきます。

次に続きます・・・




この記事が気に入ったらサポートをしてみませんか?