【前編】Blockchain Data Managerを使ってみた~知識編~
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」を利用するための準備として、以下を行ってください。
- 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 で使用する場合 ・サーバーアプリケーション(リスナー)の作成 ・クライアントアプリケーション(センダー)の作成 ・アプリケーションの実行 |
それでは、実際の手順を見てみましょう!
中編へつづく!
中編はこちら!
こちらの記事もオススメ!
2020.08.14ブロックチェーン特集知識編ブロックチェーンとコンセンサスアルゴリズム実装編【Blockchain Data Managerを使ってみたEt...
2020.07.17ライトコード的「やってみた!」シリーズ「やってみた!」を集めました!(株)ライトコードが今まで作ってきた「やってみた!」記事を集めてみました!※作成日が新し...
ライトコードでは、エンジニアを積極採用中!
ライトコードでは、エンジニアを積極採用しています!社長と一杯しながらお話しする機会もご用意しております。そのほかカジュアル面談等もございますので、くわしくは採用情報をご確認ください。
採用情報へ
「好きを仕事にするエンジニア集団」の(株)ライトコードです! ライトコードは、福岡、東京、大阪、名古屋の4拠点で事業展開するIT企業です。 現在は、国内を代表する大手IT企業を取引先にもち、ITシステムの受託事業が中心。 いずれも直取引で、月間PV数1億を超えるWebサービスのシステム開発・運営、インフラの構築・運用に携わっています。 システム開発依頼・お見積もり大歓迎! また、現在「WEBエンジニア」「モバイルエンジニア」「営業」「WEBデザイナー」を積極採用中です! インターンや新卒採用も行っております。 以下よりご応募をお待ちしております! https://rightcode.co.jp/recruit
おすすめ記事
immichを知ってほしい
2024.10.31