1. HOME
  2. ブログ
  3. IT技術
  4. 【前編】Blockchain Data Managerを使ってみた~知識編~

【前編】Blockchain Data Managerを使ってみた~知識編~

前編~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」を利用するための準備として、以下を行ってください。

  1. Azure ポータルへの登録
  2. Azure Blockchain Service の設定
  3. Visual Studio Codeで「Azure BlockchainDevelopmentKit」でのコントラクトの作成

利用料

「Blockchain Data Manager」の、基本的な利用料は以下のとおりです。

分類利用料
Azure Blockchain1 ヶ月 約 ¥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 Apps1 ヶ月 約 ¥1,600
Azure CosmosDB1 ヶ月 約 ¥415
Event Grid1 ヶ月 約 ¥80
Strage1 ヶ月 約 ¥20

Azure Cosmos DBにデータを送信する

それでは、Azure Cosmos DB にデータを送信するまでの流れを確認してみましょう!

まず、必要な準備作業や流れ(工程)を説明します。

必要な準備作業

Azure Cosoms DB にデータを送信するまでに必要な準備作業は、以下のとおりです。

  1. 「Azure Blockchain Service」でAzureの機能拡張アプリRelay(有料)を使い、Azure Cosmos DBに接続
  2. Azure Blockchain Development Kit でコントラクト作成

コントラクトの作成手順

コンストラクト作成の手順は、以下のとおりです。

  1. Azure Portal を使用して Azure Blockchain Service メンバーを作成
  2. Visual Studio Codeを使用してネットワークに接続
  3. スマートコントラクトを作成
  4. 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・アプリ・ゲーム開発に強い「好きを仕事にするエンジニア集団」です。
ブロックチェーン関連のシステム開発依頼・お見積もりはこちらまでお願いします。
また、ブロックチェーンエンジニアを積極採用中です!詳しくはこちらをご覧ください。

※現在、多数のお問合せを頂いており、返信に、多少お時間を頂く場合がございます。

中編はこちら!

こちらの記事もオススメ!

ライトコードよりお知らせ

にゃんこ師匠にゃんこ師匠
システム開発のご相談やご依頼はこちら
ミツオカミツオカ
ライトコードの採用募集はこちら
にゃんこ師匠にゃんこ師匠
社長と一杯飲みながらお話してみたい方はこちら
ミツオカミツオカ
フリーランスエンジニア様の募集はこちら
にゃんこ師匠にゃんこ師匠
その他、お問い合わせはこちら
ミツオカミツオカ
   
お気軽にお問い合わせください!せっかくなので、別の記事もぜひ読んでいって下さいね!

一緒に働いてくれる仲間を募集しております!

ライトコードでは、仲間を募集しております!

当社のモットーは「好きなことを仕事にするエンジニア集団」「エンジニアによるエンジニアのための会社」。エンジニアであるあなたの「やってみたいこと」を全力で応援する会社です。

また、ライトコードは現在、急成長中!だからこそ、あなたにお任せしたいやりがいのあるお仕事は沢山あります。「コアメンバー」として活躍してくれる、あなたからのご応募をお待ちしております!

なお、ご応募の前に、「話しだけ聞いてみたい」「社内の雰囲気を知りたい」という方はこちらをご覧ください。

ライトコードでは一緒に働いていただける方を募集しております!

採用情報はこちら

関連記事

採用情報

\ あの有名サービスに参画!? /

バックエンドエンジニア

\ クリエイティブの最前線 /

フロントエンドエンジニア

\ 世界はお前の手の中に・・・ /

モバイルエンジニア

\ サービスの守り神! /

インフラエンジニア