Help us understand the problem. What is going on with this article?

Azure Blockchain Serviceを試してみる1(チェーン構築編)

Azure Blockchain Serviceとは

Azure Blockchain Serviceは、Azureが提供するフルマネージドなブロックチェーンサービス(2019/8/30時点でプレビュー版)で、コンソーシアムチェーンの構築及び管理等を行うことが出来ます。
ブロックチェーン自体には、Quorumという米大手銀行JPモルガンが開発するエンタープライズ向けブロックチェーンが利用されています。
Quorumのコア部分はEthereumがベースになっており、GethをForkした実装になっています。それゆえ、Ethereumのエコシステムをそのまま利用出来るという大きなメリットがあります。さらには、Quorumはコンソーシアムチェーンで利用可能な様々なプライバシー関連の機構を搭載しています。 

ブロックチェーンを作成する

リソースの選択

Azure Blockchain ServiceはMarketplace内のサービスとして提供されています。
スクリーンショット 2019-08-30 13.25.18.png

チェーンの構築

リソースの選択後、いくつかチェーンの設定情報を入力します。
「Review + create」をクリックすると、チェーンが立ち上がります。とっても簡単です:wink:
スクリーンショット 2019-08-30 14.19.28.png

設定情報の説明

  • PROJECT DETAILS
    • リソースグループとリージョンを指定します。
  • BLOCKCHAIN DETAILS
    • Consortium
      • 作成するコンソーシアムの名称です。新しくコンソーシアムを作成するか、既存のコンソーシアムを選択して参加することができます。
    • Protocol
      • 2019/8/30時点ではQuorumのみサポートされています。
  • MEMBER DETAIL
    • Name
      • 新たにコンソーシアムに参加するメンバーの名称です。
    • Member account password
      • 作成するメンバーアカウントに設定するパスワードです。
    • Pricing
      • 価格プランです。開発環境用のBasicと、本番環境用のStandardの2種類から選択できます。
    • Transaction node password
      • トランザクション送信用のノードに設定するパスワードです。

構築されたチェーンの確認

「Review + create」をクリック後、10分程度でチェーンのデプロイが完了します。
デプロイが完了すると下記の画面が表示され、ブロック数やトランザクション数などの基本的なメトリクスを確認できます。
スクリーンショット 2019-09-02 11.15.36.png

ノードの構成

チェーンを構築すると、検証ノードとトランザクションノードと呼ばれる2種類のノードが立ち上がります。
検証ノードはブロックの生成及び検証を行い、トランザクションノードはチェーンに対してトランザクションを送信する際のエンドポイントを提供します。
立ち上がるバリデータノードの数は選択した料金プランによって異なり、Basicを選択した場合は1ノード、Standardの場合は2ノードで固定となります。トランザクションノードはどちらの料金プランでも1ノードですが、こちらは後から追加が可能です。

CLIによるチェーンの構築

1. azure-cliのインストール
brew update && brew install azure-cli
2. ログイン
az login
3. グループの作成
az group create --name リソースグループ名 --location リージョン
4. チェーンの構築
az resource create --resource-group リソースグループ名 --name メンバ名 --resource-type Microsoft.Blockchain/blockchainMembers --is-full-object --properties "{ \"location\": \"リージョン\", \"properties\": {\"password\": \"トランザクションノードのパスワード\", \"protocol\": \"Quorum\", \"consortium\": \"コンソーシアム名\", \"consortiumManagementAccountPassword\": \"メンバアカウントのパスワード\" }, \"sku\": { \"name\": \"価格プラン\" } }"

※ 価格プランはStandardはS0, BasicはB0を指定する

ARMテンプレート(IaC)によるチェーンの構築

AzureではARMテンプレートを利用することで、インフラの構成をコード化することが可能です。
しかし、Azure Blockchain Serviceは2019/8/30時点ではまだARMテンプレートに未対応です。
今後対応されることを待ちましょう。

終わり

ブロックチェーンの構築をEC2上等に行う場合、冗長化やノード間の接続など何かと手間が掛かりますが、Azure Blockchain Serviceを使うことで非常に簡単に構築を行うことが可能です。この導入の簡単さはフルマネージドサービスを使う大きなメリットの1つです。

さて、次回の記事では構築したチェーンに対して、コントラクトのデプロイを行います:wave:

hayago
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした