Workbenchとは?Microsoftが提供するクラウドサービス「Azure」上で、ブロックチェーンを簡単に構築できるサービスになります。詳しい内容や導入メリット等は以下を参考にしてください。※こちらのキャプチャは執筆時点(2019/4)に撮影したもので、現在はUIが変わっている可能性がございます。恐縮ではございますが、ご了承ください。Workbenchを利用し、以下の流れに沿って簡単にブロックチェーン間環境を作ってみます。ADについての概要は以下の記事を参考にしてください。AD)の設定が必要になります。ここでは、以下の流れで作業を行います。Portalへログインします。Microsoftアカウントがある方は、そのままサインインしましょう。ない場合は作成します。Directoryの順でクリックし、ディレクトリ作成の画面に遷移します。▼ディレクトリの作成を行います。組織名とドメイン名を入力し、リージョンは「日本」を選択します。新しいディレクトリを作成するのに少し時間がかかります。ADにアプリの登録の作成を行います。新しいアプリケーションの登録から、登録が行えます。▼アプリの登録画面から、まずは作成を行います。以下の形で入力後、下部の「作成」ボタンを押します。ADのアプリの登録画面に戻り、先ほど作成したアプリを選択します。先ほど作成したアプリが表示されない場合は、下の図のように「アプリケーションをすべて表示」を押して表示させてください。すると先ほど作成したアプリが表示されるはずです。▼アプリを選択すると下のような画面が表示されます。順番にクリックしてキーの設定からパスワードを作成します。▼下記のように記入し「保存」ボタンを押します。保存ボタンを押した後は、ページ遷移しないように注意してください。Secret有効期限:期限なし値:何も入力しない▼新しくできたパスワードを保存します。パスワードが表示されるタイミングはここだけですので、「値」の欄に表示されたパスワードを必ず保存してください。ADのアプリの登録画面に戻り「マニフェスト」をクリックするとエディター画面が開きます。▼開いたエディター画面で、”appRoles”の定義を探します。▼appRolesの定義を下記のJSONに書き換えます。”id”の箇所はGUIDと入っていますが、次の項目でGUIDの値を取得し書き換えていきます。GUIDとはプログラムを一意に特定するためのIDで、他のプログラムと重複を避ける必要があります。こちらのサイトから、GUIDを取得できます。「GUID生成実行」ボタンからGUIDを取得し、値をコピーしてください。PowerShellから値を取得することも可能です。いろいろな方法があるので、好きな形で取得してください。▼上記のJSONの内容に、取得してきたGUIDをidの値に書き込み、appRolesの内容を編集します。「保存」ボタンを押して、書き換えた内容を保存してください。最終的には、エディターの内容は以下のような形になります。黄色線の内部が、書き換えたJSONで、赤線部が取得してきたGUIDになります。▼必要なアクセス許可の画面上部の「追加」ボタンを押します。Graph」を選び、下部の「選択」ボタンを押します。profiles」にチェックマークを入れ、下部の「選択」ボタンを押します。次に、APIアクセスの追加の下部にある「完了」ボタンを押し、必要な権限を追加します。必要なアクセス許可の画面上部の「アクセス許可の付与」ボタンを押します。▼以下のような画面が出たら「はい」を押してください。アプリケーションのアクセス許可が付与されます。ADのグループを選択します。▼新しいグループの作成を行います。▼以下の項目を入力し、下部の「作成」ボタンを押します。グループの種類:セキュリティグループ名:Administratorメンバーシップの種類:割り当て済み▼次に、作成したグループに管理者ユーザーを追加します。ADのユーザーを選択しましょう。▼すべてのユーザーから、ログインしている自分のアカウントを選択します。▼左側のグループを選択し、追加ボタンを押します。▼先ほど作成したAdministratorをクリックし、下部の「選択」ボタンを押します。これで、グループとユーザーの関連付けが完了します。▼次に作成したアプリケーションとグループの関連付けを行います。エンタープライズアプリケーションをクリックし、作成したアプリケーションを表示させます。▼作成したアプリケーションをクリックし、詳細を開きます。▼アプリケーションにユーザーを追加します。左のユーザーとグループをクリックし、ユーザーの追加を押します。デフォルトで割り当てられているユーザーがいるかもしれませんが、先ほど作成したAdministratorを関連付けてみましょう。Portalにログインしているユーザーをクリックし、下部の「選択」ボタンを押します。▼ロールの選択で、Administratorが選択されているのを確認し、下部の「割当」ボタンを押します。Workbenchの作成を行っていきます。ここでは、以下の流れで作業を行います。Workbenchの利用には、サブスクリプションの登録が必要になります。方は無料アカウントが作成できますので、無料で試してみましょう。ディレクトリとサブスクリプションの関係については、個人的には以下の記事がわかりやすかったです。部分をコピーしておきます。アプリの登録)から、アプリケーションIDをコピーしておきます。Workbenchの作成を行っていきます。順でクリックし、作成の画面に遷移します。▼STEP1:基本設定の構成を入力していきます。任意の値を入力し「OK」ボタンを押します。今回はパスワードを選択。Generatorなどで作成した公開キーを入力します。▼STEP2:追加オプションを設定していきます。以下を参考に入力し「OK」ボタンを押します。Workbenchの検証を行います。待つと検証が終わるので「OK」ボタンを押して次のステップに進みます。▼STEP4:最後に利用規約を読み「作成」ボタンを押せば、デプロイが開始されます。デプロイ完了まで30分ほどかかります。▼デプロイ完了後、Webクライアントの応答URLの設定を行います。Portalのトップから、「すべてのリソース」を」クリックし、種類の列でソートさせます。Serviceの中から、「...-api」と付いていない方のリソースをクリックします。▼リソースが表示されたら、右上にあるURLをコピーしておきましょう。作成したアプリケーションをクリック、で詳細画面に進みます。順にクリックし、応答URLの設定画面を開きます。▼「http://localhost」のURLを、先ほどコピーしたURLに書き換え、保存ボタンを押します。Portalで設定したアカウントでアクセスができれば完了です。念のため、シークレットモードなどでログインできるか確認しておくと良いでしょう。スマートコントラクトの実装いよいよスマートコントラクトの実装に進みます。ここでは、以下の流れで作業を行います。テスト1コントラクトのデプロイ▼今回は簡単なスマートコントラクトの実装ということで、公式のサンプルプログラムを利用します。公式サンプル:Azure-Samples/blockchain上記から、以下の2ファイルをダウンロードします。HelloBlockchain.jsonHelloBlockchain.sol今回作成するのは、Aさんからメッセージをリクエストし、Bさんがレスポンスする、という単純なアプリになっています。利用するjsonファイルやSolidityのファイル(sol)を変えれば、様々なスマートコントラクトが利用可能になります。▼先ほどアクセスの確認をしたWebクライアント応答URLへ戻り、「New」をクリックし「Browse」ボタンから、上記の2ファイルアップロードします。エラーが出る場合は、ファイルの中身を確認してください。「Deploy」ボタンを押して、デプロイを完了させます。ADから追加していきます。順にクリックし、表示された画面の上部にある「新しいユーザー」をクリックします。▼「新しいユーザー」から開いた入力欄に以下のように記入します。ユーザー名:任意@テナント名.onmicrosoft.com「パスワードを表示」にチェックを付け、パスワードを保存しておきましょう。2アカウント分のユーザが必要なため、ユーザを2人追加します。▼再び、設定したWebクライアント応答URLに戻ります。member」をクリックし、アプリケーションに先ほど設定したユーザーを追加します。member」の表示が出ない場合は、ページを再読み込みしてみましょう。member」をクリックし、追加したユーザーを検索します。ADで追加したメンバーを検索し「Requestor」と「Responder」にそれぞれ当てはめていきます。▼もし、検索した結果エラーが返ってきた場合は、クライアントURLにログインしたMicrosoftアカウントに問題があるケースが考えられます。ユーザー追加の権限の問題の場合は、エラー画面のリンクをクリックし、ユーザー指定のリソースにアクセスできるよう権限を付与しましょう。それでは動作確認を行っていきます。Chromeのシークレットウィンドウなどで、Webクライアント応答URLにアクセスし「Requestor」として登録したアカウントでログインします。Blockchain!のアプリを選択しましょう。New」のボタンを押します。Contractのテキスト入力欄に、任意のリクエストメッセージを記入し「Create」ボタンを押します。▼すると、このような形でコントラクトが作成されます。▼作成されたコントラクトをクリックすると詳細画面が確認できます。▼詳細画面の「Activity」の項目をクリックすると、トランザクションのハッシュ等より詳しい情報が確認できます。▼今度は、レスポンスメッセージを作成します。「Requestor」として登録したアカウントからサインアウトし、「Responder」として登録したアカウントでログインします。(今回の例だとBobのアカウント)▼次に、Hello,Blockchainのアプリへ行き、Alisで作成したコントラクトの詳細画面を開きます。action」のボタンが表示されているのでクリックします。action」ボタンをクリックします。action」ボタンをクリックします。▼すると、アクションが実行されて、再度処理がリクエスターへと帰っていきます。StatusにRespondが追記され、Activityにも処理が追加されています。メッセージのやり取りを継続する場合は、再びAlisでログインし、これまでと同様の作業でやり取りを確認できます。以下で、スマートコントラクトの公式サンプルコードが確認できますので、是非参考にしてください。投稿一覧カリフォルニア州立大学を卒業後、日本で営業とエンジニアの経験を積む。株式会社digglueのCEO。ブロックチェーンのオンライン学習サービス「EnterChain」、ブロックチェーンコンサルティング、メディア事業を営む。アプリケーション開発のために多くの機能を備えたAzureのサービスです。今[...]テンセント(Tencent)はブロックチェーン領域においてどんな取り組みをしているのかBATの3社は、ブロックチェーンについて積極的な取り組みを見せています。WordPress.。