汎用トークン・フレームワーク用のラッパーAPIのデプロイおよびテスト

Fungible Token FrameworkラッパーAPIパッケージのデプロイ

各パッケージに含まれるPostmanコレクションの使用については、Wrapper API Package Componentsを参照してください。

ラッパーAPIパッケージをデプロイする前に、必要な構成変数を更新する必要があります。一部の構成変数にはデフォルト値がありますが、プレースホルダを含む変数はデフォルト値として手動で更新する必要があります。構成変数は、ラッパーAPIアーカイブのterraform.tfvarsファイルに格納されます。ラッパーAPIのデプロイおよび構成変数の詳細は、ラッパーAPIを参照してください。次の表に、非代替トークン・フレームワーク・ラッパーAPIパッケージの構成変数とそのデフォルト値を示します。デフォルト値にプレースホルダが含まれている場合は、ユーザーが必要な値を手動で指定する必要があることを示します。

変数名 デフォルト値 説明
compartment_ocid <compartment_ocid> Oracle Cloud Infrastructure (OCI)のコンパートメントのOCID。
compartment_name <compartment_name> OCIコンパートメントの名前。
identity_domain <identity_domain> 使用するアイデンティティ・ドメイン。
blockchain_channel <blockchain_channel> チェーンコードがデプロイされているOracle Blockchain Platformチャネルの名前。
blockchain_url <blockchain_url> チェーンコード・デプロイメントに関連付けられたOracle Blockchain Platform URL。
blockchain_chaincode DepositToken ラッパーAPIを生成するチェーンコードの名前。
blockchain_sync true APIコールのペイロードに含める同期値。
blockchain_timeout 6000 APIコールのペイロードに含めるタイムアウト値。
vcn_display_name DepositToken OCI仮想クラウド・ネットワークの表示名。
application_display_name DepositToken OCIアプリケーションの表示名。
gateway_display_name DepositToken APIゲートウェイの表示名。
deployment_display_name DepositToken APIゲートウェイでのデプロイメントの表示名。
deployment_path_prefix /DepositToken APIゲートウェイのデプロイメント・パス接頭辞。ルートがデプロイされるパスを指定します。deployment_path_prefix変数は、スラッシュ(/)で始まる必要があります。
ocir_repo_name deposittoken OCIレジストリ・リポジトリ名。ocir_repo_name変数はすべて小文字にする必要があります。
policy_name DepositToken 組織内のグループおよびコンパートメントに対して定義された権限を介してAPIの管理およびアクセスを制御できるようにするポリシーの名前

Fungible Token Frameworkのサンプル・プロセス・フロー

真菌性トークン・フレームワーク・ラッパーAPIを使用する一般的なプロセス・フローは、次の基本ステップに従います。
  1. 管理者は、initializeDepositToken APIを使用してデポジット・トークン・システムを初期化します。
  2. 管理者は、createAccountおよびassociateTokenToAccount APIを使用してアカウントを作成し、そのトークンをすべてのユーザーのアカウントに関連付けます。
  3. 管理者は、addRole APIを使用して、minterロールを作成者に割り当て、notaryロールを承認者に割り当てます。
  4. トークン作成者は、requestMint APIを使用して、デポジット・トークンをミントするリクエストを送信します。
  5. 承認者は、approveMint APIを使用して、デポジット・トークンをミントするリクエストを確認および承認します。預金トークンは、作成者のアカウントに貸方記入されます。
  6. 発行者は、getAccountBalance APIを使用して、クレジット金額が正確であることを確認します。
  7. 作成者は、holdTokens APIを使用して、発行者へのトークンの転送をリクエストします。
  8. 承認者は、executeHoldTokens APIを使用して、転送リクエストを検証および承認します。預金トークンは発行者のアカウントに転送されます。
  9. 発行者は、ユーザーに対してtransferTokens APIを使用します。預金トークンは、最初のユーザーのアカウントに貸方記入されます。
  10. 最初のユーザーは、getAccountBalance APIを使用してアカウント残高を確認します。
  11. 発行者は、ユーザーに対してtransferTokens APIを使用します。預金トークンは、2番目のユーザーのアカウントに貸方記入されます。
  12. 2番目のユーザーは、getAccountBalance APIを使用してアカウント残高を確認します。
  13. 2番目のユーザーは、burnTokens APIを使用してデポジット・トークンを引き換えます。

非代替トークン・ラッパーAPIパッケージのデプロイ

ラッパーAPIパッケージをデプロイする前に、必要な構成変数を更新する必要があります。一部の構成変数にはデフォルト値がありますが、プレースホルダを含む変数はデフォルト値として手動で更新する必要があります。構成変数は、ラッパーAPIアーカイブのterraform.tfvarsファイルに格納されます。ラッパーAPIのデプロイおよび構成変数の詳細は、ラッパーAPIを参照してください。次の表に、非代替トークン・フレームワーク・ラッパーAPIパッケージの構成変数とそのデフォルト値を示します。デフォルト値にプレースホルダが含まれている場合は、ユーザーが必要な値を手動で指定する必要があることを示します。

変数名 デフォルト値 説明
compartment_ocid <compartment_ocid> Oracle Cloud Infrastructure (OCI)のコンパートメントのOCID。
compartment_name <compartment_name> OCIコンパートメントの名前。
identity_domain <identity_domain> 使用するアイデンティティ・ドメイン。
blockchain_channel <blockchain_channel> チェーンコードがデプロイされているOracle Blockchain Platformチャネルの名前。
blockchain_url <blockchain_url> チェーンコード・デプロイメントに関連付けられたOracle Blockchain Platform URL。
blockchain_chaincode NFTCollectiblesWithERC721 ラッパーAPIを生成するチェーンコードの名前。
blockchain_sync true APIコールのペイロードに含める同期値。
blockchain_timeout 6000 APIコールのペイロードに含めるタイムアウト値。
vcn_display_name NFTCollectiblesWithERC721 OCI仮想クラウド・ネットワークの表示名。
application_display_name NFTCollectiblesWithERC721 OCIアプリケーションの表示名。
gateway_display_name NFTCollectiblesWithERC721 APIゲートウェイの表示名。
deployment_display_name NFTCollectiblesWithERC721 APIゲートウェイでのデプロイメントの表示名。
deployment_path_prefix /NFTCollectiblesWithERC721 APIゲートウェイのデプロイメント・パス接頭辞。ルートがデプロイされるパスを指定します。deployment_path_prefix変数は、スラッシュ(/)で始まる必要があります。
ocir_repo_name nftcollectibleswitherc721 OCIレジストリ・リポジトリ名。ocir_repo_name変数はすべて小文字にする必要があります。
policy_name NFTCollectiblesWithERC721 組織内のグループおよびコンパートメントに対して定義された権限を介してAPIの管理およびアクセスを制御できるようにするポリシーの名前

非代替トークン・フレームワークのサンプル・プロセス・フロー

非代替トークン・フレームワーク・ラッパーAPIを使用する一般的なプロセス・フローは、次の基本ステップに従います。
  1. 管理者は、createAccount APIを使用して、博物館/キュレーター、バイヤー、販売者など、すべての利害関係者のアカウントを作成します。
  2. 管理者は、addRole APIを使用してminterロールをキュレータに割り当て、NFTをミントできるようにします。
  3. キュレータは、createArtCollectionToken APIを使用してアート・コレクションNFTをミントします。
  4. キュレーターは、post APIを使用してNFTの価格を設定し、マーケットプレイスに販売するために投稿します。
  5. バイヤーは、buy APIを使用して、支払ゲートウェイを介した直接支払を使用してNFTを購入します。購入したNFTは購入者のアカウントに転送され、販売されなくなります。
  6. オプションで、バイヤーはpost APIを使用してNFTの新しい価格を設定し、マーケットプレイスで再販用に転記できます。

結合トークン・ラッパーAPIパッケージのデプロイ

ラッパーAPIパッケージをデプロイする前に、必要な構成変数を更新する必要があります。一部の構成変数にはデフォルト値がありますが、プレースホルダを含む変数はデフォルト値として手動で更新する必要があります。構成変数は、ラッパーAPIアーカイブのterraform.tfvarsファイルに格納されます。ラッパーAPIのデプロイおよび構成変数の詳細は、ラッパーAPIを参照してください。次の表に、結合されたトークン・フレームワーク・ラッパーAPIパッケージの構成変数とそのデフォルト値を示します。デフォルト値にプレースホルダが含まれている場合は、ユーザーが必要な値を手動で指定する必要があることを示します。

変数名 デフォルト値 説明
compartment_ocid <compartment_ocid> Oracle Cloud Infrastructure (OCI)内のコンパートメントOCID。
compartment_name <compartment_name> OCIコンパートメントの名前。
identity_domain <identity_domain> 使用するアイデンティティ・ドメイン。
blockchain_channel <blockchain_channel> チェーンコードがデプロイされているOracle Blockchain Platformチャネルの名前。
blockchain_url <blockchain_url> チェーンコード・デプロイメントに関連付けられたOracle Blockchain Platform URL。
blockchain_chaincode WholesaleCBDC ラッパーAPIを生成するチェーンコードの名前。
blockchain_sync true APIコールのペイロードに含める同期値。
blockchain_timeout 6000 APIコールのペイロードに含めるタイムアウト値。
vcn_display_name NFTCollectiblesWithERC1155 OCI仮想クラウド・ネットワークの表示名。
application_display_name NFTCollectiblesWithERC1155 OCIアプリケーションの表示名。
gateway_display_name NFTCollectiblesWithERC1155 APIゲートウェイの表示名。
deployment_display_name NFTCollectiblesWithERC1155 APIゲートウェイでのデプロイメントの表示名。
deployment_path_prefix /NFTCollectiblesWithERC1155 APIゲートウェイのデプロイメント・パス接頭辞。ルートがデプロイされるパスを指定します。deployment_path_prefix変数は、スラッシュ(/)で始まる必要があります。
ocir_repo_name nftcollectibleswitherc1155 OCIレジストリ・リポジトリ名。ocir_repo_name変数はすべて小文字にする必要があります。
policy_name NFTCollectiblesWithERC1155 組織内のグループおよびコンパートメントに対して定義された権限を介してAPIの管理およびアクセスを制御できるようにするポリシーの名前

結合トークン・フレームワークのサンプル・プロセス・フロー

結合されたトークン・フレームワーク・ラッパーAPIを使用する一般的なプロセス・フローは、次の基本ステップに従います。
  1. 管理者は、createAccount APIを使用して、博物館/キュレーター、バイヤー、販売者など、すべての利害関係者に対して真菌性トークン・アカウントおよび非真菌性トークン・アカウントを作成します。
  2. 管理者は、addRole APIを使用してminterロールをキュレータに割り当て、NFTをミントできるようにします。
  3. キュレータは、mintBatch APIを使用してアート・コレクションNFTをミントします。
  4. キュレーターは、post APIを使用してNFTの価格を設定し、マーケットプレイスに販売するために投稿します。
  5. 購入者と販売者は、createTokenAccount APIを使用して、プラットフォーム上で真菌性トークンと非真菌性トークンのための消費者アカウントを作成します。
  6. 購入者は、buyWithEthCoin APIを使用してEthereumでNFTを購入します。購入したNFTは購入者のアカウントに転送され、販売されなくなります。
  7. オプションで、バイヤーはpost APIを使用してNFTの新しい価格を設定し、マーケットプレイスで再販用に転記できます。
  8. オプションで、バイヤーはburnBatch APIを使用してNFTを引き換えるか、または永久に循環から削除できます。