ブロックチェーンのマネージドサービスということで使ってみました。
Ethreum/Hyperledger Fabric/Cordaの環境が作れますが、2019年1月時点ではEthereumのみ対象となっています。
WorkbenchのVersionは1.6.0です。
現時点でプレビューなので注意が必要です。
Azure Active Directoryセットアップ
ゲストユーザ設定
ゲストユーザ設定をすると、ADゲストユーザのアクセス許可がADメンバーユーザのアクセス許可相当になります。影響範囲は以下の公式ページを参考にしてください。
メンバーとゲストの既定のアクセス許可を比較する
これが難しければ新たにディレクトリを作成する必要があります。
ただし、1つのサブスクリプションは1つのディレクトリにしか紐付けることができないため、サブスクリプションも新たに作成する必要があります。
アプリケーション設定
-
Azure Active Directoryを開き、[アプリの登録]→[新しいアプリケーションの登録]の順に選択します。
-
GUID生成ツールを使ってGUIDを生成します。ググれば生成するサイトが出てきます。
-
マニフェスト内のappRolesを以下のように修正します。
"appRoles": [
{
"allowedMemberTypes": [
"User",
"Application"
],
"displayName": "Administrator",
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"isEnabled": true,
"description": "Blockchain Workbench administrator role allows creation of applications, user to role assignments, etc.",
"value": "Administrator"
}
],
- マニフェスト内のoauth2AllowImplicitFlowをtrueに修正して保存します。
"oauth2AllowImplicitFlow": true,
管理者グループ作成
Azure Blockchain Workbench作成
-
次に詳細設定項目を入力していきます。
-
[Azure ActiveDirectory Settings]は[Add Now]を選択し、以下のように入力してください。
-
ここまで入力したら作成してください。デプロイ完了するまで約30分程掛かります。
応答URL設定
スマートコントラクト作成
リクエストとレスポンスを返し合うだけのサンプルプログラムを実装したいと思います。
- 公式のサンプルプログラムをダウンロードします。
- HelloBlockchain.json
- HelloBlockchain.sol
テスト
-
次のアクションを待っている状態なので、[Take action]を選択します。今回は自分自身でリクエストとレスポンスを送り合っていますが、リエクストを異なるIDにすると、その人にしかActionできない仕組みになっています。
-
このサンプルアプリケーションでは、レスポンス側はアクションに[Response]しか選べないようになっています。作り次第で複数選択させることも可能です。
まとめ
簡単にブロックチェーン環境を構築することができました。
Azure Active Directoryと連携していることで、ロールを意識したワークフローの仕組みが強力だと思います。
Version1.6.0から、Web画面上でアプリケーションのバージョン管理ができるようになったので、アプリケーション変更時も簡単に切り替えることが可能になりました。
Blockchain Workbenchを作った直後のリソースグループには、ServiceBus/Event Grid/SQL Databaseといったリソースも作られています。
こういったAzureリソースの組み合わせこそBlockchain Workbenchの醍醐味だと思うので、このあたりは別の記事でまとめようと思います。