
【前編】Blockchain Data Managerを使ってみた~知識編~
2020.08.27
前編~Blockchain Data Managerとは~
Azure Blockchain Serviceとは
「Azure Blockchain Service」は、Azure上でブロックチェーン技術を使うためのプラットフォームです。
プラットフォームの利用により、データ転送の安全性を確保できます。
また、エンタープライズ仕様になっているため、フロントエンドとバックエンドをグループ化して開発することができます。
Blockchain Data Managerとは
「Blockchain Data Manager」は、「Azure Blockchain Service」のトランザクションデータについて、「キャプチャ」「変換」「配信」という3つの連続した操作を統合します。
「Azure Blockchain Service」上でイベント設定をすることによって、データ転送を実行するアプリケーションです。
また、「Azure Blockchain」のコンソーシアム上のデータベース設定、フロントエンド連携のためのアプリケーションの作成、Visual Studio Code 上で開発できるアプリが揃っています。
キャプチャ(Capture)
「Blockchain Data Manager」インスタンスは、「Azure Blockchain Service」上のデータベースの一つのメンバートランザクションノードに接続します。
コントラクトから json ファイルを作成し、エンドポイント URL を設定することで、ノードへの HTTP 接続できるようになります。
ノードには、アクセス権を持つユーザーだけが接続できます。
変換(Transform)
初めに、「Blockchain Data Manager」内にコンテナーを作成します。
次に、スマートコントラクトアプリケーションを構成することで、コンソーシアムにデプロイされたスマートコントラクトアドレス(URL)をデコード(検出)し、Blockchain Applications を作成します。
その後、Azure Event Grid トピックを使用し、イベントとプロパティーの状態を構成済みのアドレス(URL)に送信します。
配信(Deliver)
「Blockchain Data Manager」インスタンスは、複数の Event Grid トピック送信接続をサポートします。
サブスクリプションの設定で、複数のブロックチェーンデータをデータベースに送信したり、コンストラクタの1回のデプロイで多くの作業を簡略化したりできます。
データの送信は、Azure Blockchain 上のデータエクスプローラーや Visual Studio Code の機能拡張から確認できます。
準備する環境と経費
アカウント
「Azure Blockchain Service」は、無料でアカウントを作成できます。
クレジットカード(デビットカード可)の登録後、¥22,500 のクレジットを受け取ることができ、 12 ヶ月の期間中はクレジット内であれば無料で使用できます。
一部、有料のサービスもあるため、気をつけてください。
クレジットの期間終了後も、設定は継続して利用できます。
準備する環境
「Blockchain Data Manager」を利用するための準備として、以下を行ってください。
- Azure ポータルへの登録
- Azure Blockchain Service の設定
- Visual Studio Codeで「Azure BlockchainDevelopmentKit」でのコントラクトの作成
利用料
「Blockchain Data Manager」の、基本的な利用料は以下のとおりです。
分類 | 利用料 |
---|---|
Azure Blockchain | 1 ヶ月 約 ¥3,500(1 分当たり 25,440 BW) |
トランザクションノード<米国東部> | 1 ヶ月 約 ¥3,500(1 分当たり 25,440 BW) |
基本の検証ノード<米国東部> | 1 ヶ月 約 ¥2,000(1 分当たり 14,100 BW) |
トランザクションノード<東日本> | 1 ヶ月 約 ¥3,600(1 分当たり 17,940 BW) |
基本の検証ノード<東日本> | 1 ヶ月 約 ¥3,600(1 分当たり 14,100 BW) |
Service Bus / Hybrid 接続データ転送 | 1 ヶ月 約 ¥2,700 |
Logic Apps | 1 ヶ月 約 ¥1,600 |
Azure CosmosDB | 1 ヶ月 約 ¥415 |
Event Grid | 1 ヶ月 約 ¥80 |
Strage | 1 ヶ月 約 ¥20 |
Azure Cosmos DBにデータを送信する
それでは、Azure Cosmos DB にデータを送信するまでの流れを確認してみましょう!
まず、必要な準備作業や流れ(工程)を説明します。
必要な準備作業
Azure Cosoms DB にデータを送信するまでに必要な準備作業は、以下のとおりです。
- 「Azure Blockchain Service」でAzureの機能拡張アプリRelay(有料)を使い、Azure Cosmos DBに接続
- Azure Blockchain Development Kit でコントラクト作成
コントラクトの作成手順
コンストラクト作成の手順は、以下のとおりです。
- Azure Portal を使用して Azure Blockchain Service メンバーを作成
- Visual Studio Codeを使用してネットワークに接続
- スマートコントラクトを作成
- Blockchain Data Serviceを作成(メンバーの追加)
工程
Azure Cosmos DB にデータを送信するまでの作業の流れは、以下のとおりです。
工程 | 作業 |
---|---|
Blockchain Applications の作成準備 | Blockchain Applications の作成準備 |
ストレージアカウントの作成 | |
コンテナーの作成 | |
Blockchain Data Manager インスタンスを作成する | ブロックチェーンメンバーの作成 |
インスタンスの作成 | |
Blockchain Application の作成 | Contract ABI URL と Contract Bytecode URL の追加 |
Relay の設定 | Hybrid 接続 URL と共有アクセスポリシーを設定する |
「主キー」と「プライマリ接続文字列」の取得 | |
Azure Cosmos DB の作成 | AzureCosmosDB の作成 |
データベースにデータを送信するイベントの設定 | ロジックアプリの作成 |
Event Grid トピックを作成する | Event Grid サブスクリプションの作成 |
データベースへの送信と確認 | トランザクションでメッセージを送る |
トランザクションデータの確認 | CosmosDB 上のデータエクスプローラーで確認する場合 |
Visual Studio Code で確認する場合 | |
Relay を使用し、Node.js で使用する場合 ・サーバーアプリケーション(リスナー)の作成 ・クライアントアプリケーション(センダー)の作成 ・アプリケーションの実行 |
それでは、実際の手順を見てみましょう!
中編へつづく!
(株)ライトコードは、WEB・アプリ・ゲーム開発に強い「好きを仕事にするエンジニア集団」です。
ブロックチェーン関連のシステム開発依頼・お見積もりはこちらまでお願いします。
また、ブロックチェーンエンジニアを積極採用中です!詳しくはこちらをご覧ください。
※現在、多数のお問合せを頂いており、返信に、多少お時間を頂く場合がございます。
中編はこちら!
こちらの記事もオススメ!
ライトコードよりお知らせ






一緒に働いてくれる仲間を募集しております!
ライトコードでは、仲間を募集しております!
当社のモットーは「好きなことを仕事にするエンジニア集団」「エンジニアによるエンジニアのための会社」。エンジニアであるあなたの「やってみたいこと」を全力で応援する会社です。
また、ライトコードは現在、急成長中!だからこそ、あなたにお任せしたいやりがいのあるお仕事は沢山あります。「コアメンバー」として活躍してくれる、あなたからのご応募をお待ちしております!
なお、ご応募の前に、「話しだけ聞いてみたい」「社内の雰囲気を知りたい」という方はこちらをご覧ください。
ライトコードでは一緒に働いていただける方を募集しております!
採用情報はこちら書いた人はこんな人

IT技術2021.04.23【第2回】Djangoで日記アプリを作ろう~トップ画面編~
IT技術2021.04.16【第1回】Djangoで日記アプリを作ろう~環境構築編~
IT技術2021.03.2910月20日メジャーアップデート!「Node.js v15」の新機能とは?
IT技術2021.03.02TypeScriptの型を問題形式で学べる「type-challenges」とは?