• トップ
  • ブログ一覧
  • 【前編】Blockchain Data Managerを使ってみた~知識編~
  • 【前編】Blockchain Data Managerを使ってみた~知識編~

    メディアチームメディアチーム
    2020.08.28

    IT技術

    前編~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 で使用する場合
    ・サーバーアプリケーション(リスナー)の作成
    ・クライアントアプリケーション(センダー)の作成
    ・アプリケーションの実行

    それでは、実際の手順を見てみましょう!

    中編へつづく!

    中編はこちら!

    featureImg2020.09.01【中編】Blockchain Data Managerを使ってみた~準備編~中編~Blockchain Data Managerとは~「Azure Blockchain Service」は、Az...

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

    featureImg2020.08.14ブロックチェーン特集知識編ブロックチェーンとコンセンサスアルゴリズム実装編【Blockchain Data Managerを使ってみたEt...

    featureImg2020.07.17ライトコード的「やってみた!」シリーズ「やってみた!」を集めました!(株)ライトコードが今まで作ってきた「やってみた!」記事を集めてみました!※作成日が新し...

    ライトコードでは、エンジニアを積極採用中!

    ライトコードでは、エンジニアを積極採用しています!社長と一杯しながらお話しする機会もご用意しております。そのほかカジュアル面談等もございますので、くわしくは採用情報をご確認ください。

    採用情報へ

    メディアチーム
    メディアチーム
    Show more...

    おすすめ記事

    エンジニア大募集中!

    ライトコードでは、エンジニアを積極採用中です。

    特に、WEBエンジニアとモバイルエンジニアは是非ご応募お待ちしております!

    また、フリーランスエンジニア様も大募集中です。

    background