Azure Blockchain Development Kitとは
Azure Blockchain Development Kit はMicrosoft社によって提供されているブロックチェーン開発の短縮を目的としたツールで、Visual Studio Code (以下VS Code)というエディターのプラグインとして利用できます。 VSCodeのコマンドからAzure Blockchain Serviceを操作できるようになり、デバックやデプロイが行えることから、非常に便利なものとなっています。
エンジニアの方には説明不要だとは思いますが、VSCodeはコーディングするためのエディターです。様々な拡張機能を備えており、世界で最も利用されているエディターの一つとなります。VSCode自体もMicrosoftによって提供されているので、プラグインとして実装されるのは必然かもしれません。
本記事ではAzure Blockchain Development Kitによって、プロジェクトの生成からスマートコントラクトのビルド・デプロイまでの利用手順をご紹介します。
▼Azure Blockchain Development Kitに関する公式リンク
事前準備
Azure Blockchain Development Kitを利用するために、事前準備と確認を行います。
システム要件
Azure Blockchain Development Kitを利用するには以下のシステム要件が必要です。
- Supported Operating Systems
- Windows 10
- Mac OSX
- VS Code 1.32.0 (or greater)
- Python 2.7.15
- Node 10.15.x
- Git 2.10.x
開発を進めていくにあたって知っておくべきこと
Azure Blockchain Development Kitでは、以下のツールと連携することで、 プロジェクトの雛形の生成・スマートコントラクトのビルド・デプロイ、クラウドとの連携が可能となります。
- Truffle – ブロックチェーン開発のフレームワーク。
- Ganache CLI – 開発環境用のプライベートネットワークを構築しアカウントの可視化やログなどをサポートするツールGanacheのコマンドラインバージョン。
- Azure Blockchain Service – Cloud上でブロックチェーンネットワークの構築・管理が可能となるサービス。
TruffleやGanache については、Ethereumでアプリ開発をしたことがある人にはなじみ深いツールですが、 Azure Blockchain Development Kit の導入で、Azure Blockchain Serviceにこれらのツールを使えるのは大きなメリットと言えるでしょう。
※補足※
Truffle – プロジェクトの生成、スマートコントラクトのマイグレーション、デプロイなどができるフレームワークです。Truffle Boxというプロジェクトのテンプレートを利用すると、Viewも含めた定型的なアプリケーションの雛形の生成などができます。
参考:TRUFFLE QUICKSTART
Ganache – スマートコントラクトを開発する上で、プライベートネットワーク上でテストすることは必須です。Ganache開発やテストをサポートするツールで、アカウントを可視化しブラウザ上から確認したり、ログを出力したりするツールです。こちらも利用することになるので、開発を進めていく場合はこちらの使い方も理解していきましょう。
参考:GANACHE OVERVIEW
Azure Blockchain Serviceに関しては、以下の記事で詳しく説明していますので、是非参考にしてください。
de:code 2019 セッションレポート➁ – 【Build 2019 発表】Blockchain as a Service 最新情報と新サービスにおけるブロックチェーン アプリ開発手法
Azureアカウントの登録
Azureのアカウントを持っていない方は、以下から登録をしてください。
Azure無料登録
Azure Blockchain Serviceの作成
*このプロセスはVSCode上からの設定も可能ですが、バグによりうまく行かないケースがあるようです。そのため今回はAzure Portalか上らの操作を説明させていただきます。次にAzure Portalからコンソーシアム名・リージョン・メンバー・パスワードなど必要な情報を入力してAzure Blockchain Serviceを作成しておきましょう。
インストール
以下の画像を参考に、Azure Blockchain Development Kit for EthereumをVSCodeにインストールします。
VSCodeの左メニューのプラグイン検索から、 Azure Blockchain Development Kit for Ethereumを探し、Installをクリックします。
不足しているシステム要件は以下のような画面が表示されインストールするように指示が出るので、それぞれのツールもインストールします。
Azure Blockchain Serviceとの接続
次に、Azureとの接続です。
インストールを終えると、AZURE BLOCKCHAIN タブが表示されます。
既にAzure Blockchain ServiceをDeploy済みの場合はAZURE BLOCKCHAIN タブのConnect to Consortiumメニューから接続します。
Connect To Consortium > Connect to Azure Blockchain Service consortium >Select Subscription > Select a resource group >
Solidity Contract の作成
Azure Blockchain Development Kitは Truffle Suite を利用しています。
Truffleの利用方法がわかる場合はTerminalから直接Truffle Init
コマンドも利用できます。
Truffleのコマンドの代わりにAzure Blockchain Development Kit を利用する場合は、View > Command Pallet > New Solidity Project > Create Basic Project からディレクトリを作成し、Contractの雛形となるプロジェクトを作成できます。
*
以下のコントラクトコードが生成されます。
Build
先ほど作成したコントラクトをビルドします。
ビルドにはSolidity Contractの作成と同じように、コマンドパレットからのコマンドを利用できます。
View > Command Pallet > Azure Blockchain: Build Contracts
Smart ContractのDeploy
ビルドしたコントラクトを、Azure Blockchain Serviceへとデプロイします。
手順はコマンドパレットからのコマンドを利用します。
View > Command Pallet > Azure Blockchain: Deploy Contracts
以上でDeployまで完了です。
その他の機能
Azure Blockchainでコマンドを検索してみると、Ganacheのサーバーを起動・停止のコマンド等も含まれています。
またAzureのアカウント作成、サインイン、サインアウトのほか、Cloud Shellの起動などもコマンドから扱えます。
終わりに
実際にやってみた感想ですが、VSCode上でプロジェクトの作成・Azure Blockchain Serviceへのデプロイまでが数コマンドで出来てしまうのには驚きました。Blockchainの開発が非常に効率的に出来るようになる、との謳い文句は間違っていないように思います。これからAzureでブロックチェーンを開発してみようかな、と思う方には是非利用をオススメします。