ソリューションのインストール、構成およびデプロイ
このソリューションを実装するには、次の項で説明するように、3つの主な作業領域があります。
- ブロックチェーン・インフラストラクチャの準備。
- スマートコントラクトの開発と展開
- スマートコントラクトを利用するアプリケーションの作成。
oracle-blockchain-cms-plan-oracle.zip
Hyperledger Fabricネットワークを作成します。最初は1つの組織で構成されますが、必要な数のメンバーに簡単にスケーリングできます。
次に、スマート・コントラクトを作成して、ビジネス・ユース・ケースで必要なエンティティをブロックチェーンに永続化および管理するために必要なロジックを処理します。
スマートコントラクトプロジェクトが作成されると、以前に作成したブロックチェーンネットワークにインストールして展開し、アカウント、登録を構成し、最後にスマートコントラクトとそのNFTの初期化を実行します。
この時点で、スマート・コントラクト・メソッドは、Oracle BlockchainインスタンスのAPIゲートウェイ(RESTPROXYとも呼ばれる)を介してすでに公開されているため、クライアント・アプリケーション(VBCSですでに作成したWebアプリケーション)で使用できるようになり、最後の項で説明します。
最後のステップの隣には、ドキュメントが格納されるOCIストレージ・バケットの作成があり、最後に最後のステップは、新しく作成されたブロックチェーン・ネットワークおよびテナンシで構成された新しいバケットを指すようにVBCSサンプル・アプリケーションの再構成です。すべての再構成が完了すると、アプリケーションはテナンシにデプロイされます。
Oracle Blockchainネットワークの作成
Oracle Blockchainに基づくHyperledger Fabric (HLF)ネットワークを作成するために、Oracle Blockchain Cloud Serviceを使用しています。
1つのインスタンスHLFネットワークを作成します。ユースケースに従って、ネットワークに属する1つの組織内の機能を表示できます。新しい組織は、独自のブロックチェーン・インスタンスを組み込むことでネットワークに参加できます。これにより、これらの組織の新規ユーザーは、自分のフォルダを所有したり、他のメンバーが所有する既存のフォルダのコンテンツを確認できます。
ユーザー・アカウントの作成
Oracle Identity Cloud Serviceを使用して、フォルダ間の部門ごとに少なくとも1人のユーザーを作成できます。これらの各ユーザーに対して、アカウントが作成され、所有する様々なフォルダがアカウントに保持されます。
RESTプロキシ・ノードへの登録の作成
Oracle Blockchain Platformは、RESTプロキシへの登録をサポートしています。これらの登録は、FTトークンまたはNFTトークンが存在するチェーンコードで使用され、呼出し元のIDをトランザクションを実行しているロールにマップします。これを行うには、ユーザーの関係をブロックチェーンで定義されたロールに作成する必要があり、わかりやすくするためにロールにユーザーとして名前を付けることができます。
ユーザー名 | 登録 | インスタンス |
---|---|---|
cmsrsk001 | cmsrsk001 | org1 |
cmsfin001 | cmsfin001 | org1 |
cmsleg001 | cmsleg001 | org1 |
- ファウンダ・インスタンス(org1)のブロックチェーン・サービス・コンソールから、「ノード」タブに移動します。
- restproxyの横にあるハンバーガー・メニューをクリックし、「登録の表示または管理」を選択します。
- 「新規登録の作成」を選択します。
- 「登録ID」をcmsrsk001、「ユーザーID」をcmsrsk001に設定し、「登録」をクリックします。
Oracle Blockchainアプリケーション・ビルダー開発環境の準備
Hyperledger Fabric (HLF)スマート・コントラクトの作成には、HLFの固有性、Java、TypescriptまたはGoLangでのコーディング方法、およびスマート・コントラクト・プロジェクトのライフサイクル全体をデプロイおよび管理する方法に関する知識が必要です。
Oracle Blockchainアプリケーション・ビルダーは2つのフレーバーで作成され、CI/CDプロセスのビルドおよびデプロイメント・ステップを自動化することを目的としたコマンドライン・ツールとして使用することも、Microsoft Visual Codeプラグインとして使用することもできます。どちらも同じ機能を実行でき、プリファレンスに応じて必要な機能を選択するだけです。Oracle Blockchainアプリケーション・ビルダーには、次の機能があります。
- 開発: Oracle Blockchainアプリケーション・ビルダーは、カスタマイズされた仕様ファイルと呼ばれるものを作成するだけで、チェーンコード・プロジェクト全体を作成します。プロジェクトには、コード化されたすべてのエンティティ、すべてのアクセッサ、それらのエンティティを管理するためのすべてのCRUDメソッド、およびアプリケーションに必要な非標準または複雑なビジネス・ロジックに必要なカスタム・メソッドの署名が含まれます。これらは、手動で実装する必要がある唯一のコードになります。
- デプロイメント: チェーンコード・プロジェクトをテストする準備ができたら、事前に構成されたHyperledger Fabricネットワークにローカルにデプロイするか、既存のクラウドまたはオンプレミスのOracle Blockchain Platformインスタンスにリモートにデプロイできます。もう1つのオプションは、Oracle Blockchainコンソールを使用して手動でデプロイするプロジェクトをパッケージ化することです。
- テスト: プロジェクトがデプロイされると、自動生成されたメソッドまたはチェーンコード・プロジェクトのカスタム・メソッドのいずれかをテストできます。
- デバッグ: Visual Studio Code拡張機能を使用している場合、チェーンコードの行ごとのデバッグを実行することもできます。
次の2つの使用可能なOracle Blockchainアプリケーション・ビルダー・バージョンのいずれかをインストールできます。
- Oracle Blockchainアプリケーション・ビルダーをMicrosoft Visual Studioプラグインとして使用する場合は、Visual Studio Code用のブロックチェーン・アプリケーション・ビルダー拡張機能のインストールおよび構成の手順に従います。
- Oracle Blockchainアプリケーション・ビルダーをコマンドライン・ツールとして使用する場合は、ブロックチェーン・アプリケーション・ビルダーCLIのインストールおよび構成の手順に従います。
このような開発ツールとそのすべての依存関係のインストールに慣れていないが、Oracle Cloudにアクセスできる場合は、これらすべての製品がすでにインストールされ、クラウドで使用できるように準備された専用の開発ボックスを作成して、リモートからアクセスできます。これらのマシンは、必要なコンピュート・シェイプのためコスト効率が高く、稼働中のみ請求されます。
ノート:
ラボでは、Visual Code StudioとOracle Blockchain App Builderロー・コード・プラグインがインストールされたクラウド・マシンを準備するには、「設定および環境設定の準備」ステップを実行するだけで済みます。OCIオブジェクト・ストレージ・バケットの作成および構成
Oracle Visual Builder Webアプリケーションからのドキュメントの格納および取得を可能にするOCI Object Storageバケットを構成します。
ノート:
OCI Object StorageからファイルをアップロードまたはダウンロードするためにOracle Visual Builderアプリケーションをコーディングする方法の詳細は、Visual BuilderアプリケーションのOCIストレージからのファイルのアップロード/ダウンロードを参照してください。OCI Object Storageバケットによって提供されるREST APIを介してバケットの使用を有効にするには、REST APIの実行を許可されたユーザーに関連するOCI APIキーを作成する必要があります。次の2つの構成タスクを実行して、VBCS WebアプリケーションでOCI Object Storageバケットを使用します。
Oracle Visual BuilderアプリケーションからのOCI Object Storageバケットの使用を有効にするには、OCI APIキーを作成して、REST APIを介してOCIサービスにアクセスする必要があります。