ノート:
- このチュートリアルではOracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructure資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了する場合は、これらの値をクラウド環境に固有の値に置き換えてください。
Oracle Blockchain Platformを使用したブロックチェーン・アプリケーションの開発
イントロダクション
ブロックチェーン・テクノロジは企業や組織の運営方法に革命をもたらし、前例のないレベルの透明性、セキュリティおよび分散化をもたらす可能性のあるアプリケーションの新時代が到来しました。
Oracle Blockchain Platformは、スマート・コントラクトを構築および実行し、改ざん防止機能を備えた分散型台帳を維持するための事前構築されたプラットフォームを提供します。Oracle Blockchain Platformを使用して、いくつかの単純なインスタンス作成ステップを完了すると、オラクル社がサービス管理、パッチ適用、バックアップとリストアおよびその他のサービス・ライフサイクル・タスクを処理します。
目標
このチュートリアルでは、Oracle Blockchain Platformを使用したブロックチェーン・アプリケーションの開発を開始するために、主な概念および関連するステップの概要を示します。
前提条件
-
ブロックチェーン・テクノロジとOracle Cloudの基本的な理解。
-
ブロックチェーンが必要かどうかを検討します。
ユースケースを徹底的に調べます。データベースや他のテクノロジーは同じソリューションを提供できますか?ブロックチェーンは単純なデータベースよりもはるかに多く、ビジネスを変革できます。サードパーティに依存したくない場合や、オフライン照合プロセスに固有の遅延が発生する場合は、ブロックチェーンを検討してください。ブロックチェーンを使用して、製品のライフサイクル全体をトレースすることもできます。また、ブロックチェーンには、すべての関係者と連絡先への参加が必要であることも注目に値します。このステップの後、「なぜブロックチェーンなのか」という質問に答える必要があります。詳細は、ブロックチェーンを使用する理由を参照してください
-
ユース・ケースの定義
最初のステップは、ブロックチェーン・アプリケーションのユースケースを定義することです。これには、解決したい問題の特定と、ブロックチェーン技術を使用して問題を解決する方法が含まれます。また、ユース・ケースを定義する際に、ターゲット・オーディエンスとそのニーズを考慮することも重要です。
-
ブロックチェーン・プラットフォームの決定
パブリック・ブロックチェーン・プラットフォームでは、誰もがブロックチェーン・ネットワーク上でデータの参加、読取りおよび書込みを行うことができます。ほとんどのタイプの暗号通貨は、ルールまたはコンセンサス・アルゴリズムによって管理されるパブリック・ブロックチェーンで実行されます。それどころか、許可型ブロックチェーンにより、組織は誰がブロックチェーン・データにアクセスできるかを制御できます。特定のデータ・セットにアクセスできるのは、権限を付与されたユーザーのみです。ユース・ケースに応じて、ブロックチェーン・プラットフォームのタイプを決定する必要があります。
Oracle Blockchain Platformは、Linux Foundationが開発した許可されたHyperledger Fabricプロジェクトに基づいています。Oracle Blockchain Platformには、ブロックチェーン・ネットワークをサポートするために必要なすべての依存関係(コンピュート、ストレージ、コンテナ、アイデンティティ・サービス、イベント・サービス、管理サービス)が含まれます。Oracle Blockchain Platformには、統合操作をサポートするブロックチェーン・ネットワーク・コンソールも用意されています。
タスク1: Oracle Blockchain Platformインスタンスの作成
-
OCIコンソールにログインします。
-
インスタンスを作成する適切な権限があるコンパートメントを選択します。
-
インスタンスの表示名を指定し、プラットフォーム・ロール、バージョンおよび必要なエディションを選択します。
-
「作成」をクリックします。
-
ブロックチェーン・ネットワークに参加している各メンバー組織について、Oracle Blockchain Platformインスタンスを作成します。詳細は、Create an OBP instanceを参照してください。
このステップを終えると、すべてのインフラストラクチャでブロックチェーン・アプリケーションを実行する準備が整います。
タスク2: 開発環境の設定
ブロックチェーン・アプリケーション・ビルダーは、コマンドライン・インタフェースまたはVisual Studio Codeの拡張として、開発ライフサイクル全体をサポートします。Oracle Blockchain Platformのブロックチェーン・アプリケーション・ビルダーは、Oracle Blockchain Platformでのチェーンコードの迅速な開発、テストおよびデプロイメントを支援するツール・セットです。Oracle Blockchain Platformコンソールの「サンプル」タブから、アプリケーション・ビルダーのVisual Studio Code拡張機能をダウンロードできます。
詳細は、アプリケーション・ビルダーのインストールを参照してください。
タスク3: ブロックチェーン・アプリケーションのデータ・モデルの作成
-
識別されたユースケースに応じて、ブロックチェーンに格納されるパラメータを決定します。
-
わかりやすくするために、大理石タイルの所有権を移動するためのブロックチェーン・アプリケーションの例を考えてみましょう。この場合、チェーンコードと呼ばれるブロックチェーン・コードを記述するには、大理石の色、サイズ、所有者、IDなどの大理石の詳細が必要です。
-
データ・モデルを作成する場合は、オブジェクト・メタデータのみを考慮してください。ブロックチェーンのデータ・モデルでは、画像、PDFなどの非トランザクション・データは必要ありません。これはオフチェーン・データと呼ばれます。
-
オンチェーンおよびオフチェーンのデータを決定し、オフチェーン・データのストレージも決定します。
タスク 4データ・モデルを使用した仕様ファイルの作成
-
タスク3で作成したデータ・モデルを使用して、単純な仕様ファイルを
yaml
またはjson
に書き込みます。詳細は、「仕様ファイルの作成」を参照してください。 -
この仕様ファイルでは、複数のアセット定義および動作、引数の検証、CRUDおよびCRUD以外のメソッド宣言を指定できます。
-
両方の形式(
yaml
およびjson
)のサンプル仕様ファイルは、Blockchain App Builderダウンロード・パッケージにあります。
タスク 5チェーンコード・ファイルの生成
-
Oracle Blockchainアプリケーション・ビルダーは、仕様ファイルから入力を取得し、完全に機能するスキャフォールド・チェーンコード・プロジェクトを生成します。
-
TypescriptまたはGo LangでOracle Blockchainアプリケーション・ビルダーを使用してチェーンコードを生成し、必要なカスタム関数を追加します。詳細は、チェーンコードの生成を参照してください。
Oracle Blockchain Platformにチェーンコードをデプロイする準備ができました。
タスク 6チェーンコードのデプロイおよびテスト
-
チェーンコードのデプロイは、チェーンコード定義の承認とコミットで構成されます。
-
ブロックチェーン・アプリケーション・ビルダーを使用して、チェーンコードをOracle Blockchain Platformにデプロイします。
-
アプリケーション・ビルダーの「環境」セクションでOracle Blockchain Platformインスタンスの詳細を追加し、チェーンコードをデプロイします。詳細は、チェーンコードのデプロイを参照してください。
-
チェーンコード・プロジェクトをパッケージ化し、手動でOracle Blockchain Platformにデプロイすることもできます。VS Codeを使用したチェーンコードのデプロイ。
-
チェーンコードがデプロイされたら、次のステップとして、デプロイされたチェーンコードをテストします。テストの一環として、トランザクションを起動したり、チェーンコードを問い合せることができます。ブロックチェーン・アプリケーション・ビルダーは、起動と問合せの実行、およびマルチユーザー・テストにも使用できます。詳細は、チェーンコードのテストを参照してください。
タスク7: SDKおよびREST APIを使用したアプリケーション開発
- Oracle Blockchain Platformは、Hyperledger Fabricを基盤として使用します。
- Hyperledger Fabricのドキュメントは、アプリケーションの記述に役立ちます。詳細は、Hyperledger Fabricのドキュメントを参照してください。
- Hyperledger Fabric SDKをインストールして使用し、Oracle Blockchain Platform用のアプリケーションを開発します。詳細は、Fabric SDKの使用を参照してください。
- Oracle Blockchain Platformによって提供されるREST APIは、最大限の柔軟性を考慮して作成されています。トランザクションの起動、問合せの起動またはトランザクションのステータスの表示が可能です。詳細は、REST APIの使用を参照してください。
ヒント:独自のアプリケーションを記述する前に、主な概念およびチュートリアルの項を参照してください。
関連リンク
謝辞
- 著者 - Bhupendra Raghuwanshi (シニア・クラウド・エンジニア)、Deepika Nayak (Staff Cloud Engineer)
その他の学習リソース
docs.oracle.com/learnで他のラボをご覧いただくか、Oracle Learning YouTubeチャネルでより無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスして、Oracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Develop a Blockchain application using Oracle Blockchain Platform
F78393-01
February 2023
Copyright © 2023, Oracle and/or its affiliates.