Stablecoin用のラッパーAPIのデプロイとテスト
Wrapper APIパッケージのデプロイ
ラッパーAPIパッケージをデプロイする前に、必要な構成変数を更新する必要があります。一部の構成変数にはデフォルト値がありますが、プレースホルダを含む変数をデフォルト値として手動で更新する必要があります。構成変数は、ラッパーAPIアーカイブのterraform.tfvarsファイルに格納されます。ラッパーAPIのデプロイおよび構成変数の詳細は、Oracle Blockchain Platformのブロックチェーン・アプリケーション・ビルダーのラッパーAPIを参照してください。次の表に、stablecoinラッパー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 |
Stablecoin |
ラッパーAPIを生成するチェーンコードの名前。 |
blockchain_sync |
true |
APIコールのペイロードに含める同期値。 |
blockchain_timeout |
6000 |
APIコールのペイロードに含めるタイムアウト値。 |
vcn_display_name |
Stablecoin |
OCI仮想クラウド・ネットワークの表示名。 |
application_display_name |
Stablecoin |
OCIアプリケーションの表示名。 |
gateway_display_name |
Stablecoin |
APIゲートウェイの表示名。 |
deployment_display_name |
Stablecoin |
APIゲートウェイでのデプロイメントの表示名。 |
deployment_path_prefix |
/Stablecoin |
APIゲートウェイのデプロイメント・パス接頭辞。ルートがデプロイされるパスを指定します。deployment_path_prefix変数はスラッシュ(/)で始まる必要があります。
|
ocir_repo_name |
Stablecoin |
OCIレジストリ・リポジトリ名。ocir_repo_name変数は、すべて小文字にする必要があります。
|
policy_name |
Stablecoin |
組織内のグループおよびコンパートメントに対して定義された権限を介してAPIへの制御された管理およびアクセスを可能にするポリシーの名前 |
Stablecoinサンプル・プロセス・フロー
stablecoinラッパーAPIを使用する一般的なプロセス・フローは、これらの基本的なステップに従います。- トークン管理者は、
initializeStablecoinTokenメソッドを使用して、固定のcurrencyName値(USDなど)およびconversionRate値でstablecoinを初期化します。 - トークン管理者は、
createAccountおよびassociateTokenToAccountメソッドを使用して、すべてのユーザー(複数レベルの承認者、マイナー、表記、送信者および受信者)のトークン・アカウントを作成します。 - トークン管理者は、
createStablecoinAccountPolicyCheckメソッドを使用してアカウント・ポリシーを作成します。アカウント・ポリシーは、安定コインを転送または保持するすべてのアカウントに必須です。各アカウント・ポリシーには、KYC、AMLおよびrestrictionFlagの3つのパラメータが含まれます。 - トークン管理者は、
createApprovalPolicyCheckを使用して承認ポリシーを作成します。承認ポリシーでは、トランザクションのしきい値、必要な数の承認および承認者詳細を定義し、複数レベルの承認の順序を設定します。保留操作には承認ポリシーが必須です。承認ポリシーがない場合、ユーザーは制限が適用されるときにトークンを保持または転送できません。 - トークン管理者は、
addRoleメソッドを使用して、マイナー・ロール、バーナー・ロールおよび公証ロールを適切なアカウントに割り当てます。 - minterは、
requestMintメソッドを使用して、stablecoinsをミントするリクエストを送信します。 - 公証人は、
approveMintメソッドを使用してミント・リクエストを承認します。 - 送信者は、
holdTokensメソッドを使用して転送を開始します。システムは、送信者および受信者のアカウント・ポリシー・チェックを実行します。いずれかのアカウントでKYCまたはAMLコンプライアンスが満たされていない場合、転送は許可されません。いずれかのアカウントに対して制限フラグがtrueに設定されている場合、承認ポリシーしきい値範囲の最下位の金額のみを保留にできます。次に、転送金額が承認ポリシーのしきい値と照合され、必要な承認者とその承認順序が承認ポリシーから導出されます。 - 複数レベルの承認者は、
approveTransactionメソッドを使用して、承認ポリシーで定義された正確な順序で転送をレビューおよび認可します。承認ポリシーでゼロ承認者が指定されている場合、公証人はexecuteHoldTokensメソッドを直接使用してトランザクションを完了できます。システムは、executeHoldTokensおよびapproveTransactionへのすべてのコール中に、KYCおよびAMLコンプライアンスと制限フラグを再検証します。チェックが失敗した場合、トランザクションはブロックされます。 - すべての承認が正常に完了すると、割り当てられた公証人は
executeHoldTokensメソッドを使用して、受け側のアカウントへの転送を完了します。 - バーナーは、
requestBurnメソッドを使用して、安定したコインを書き込むリクエストを送信します。 - 公証人は、
approveBurnメソッドを使用して書込みリクエストを承認します。 - トークン管理者および監査者は、
getStablecointAccountTransactionHistoryおよびgetStablecoinAccountTransactionHistoryWithFiltersを使用して、ミント、保持、複数レベルの承認フロー、転送、書き込みなど、すべてのトークン・イベントを追跡します。
ポストマンコレクション
stablecoinラッパーAPIパッケージのPostmanコレクションには、stablecoinチェーンコードをサポートする追加属性とメソッドが含まれています。次の表に、stablecoinパッケージに固有のPostmanコレクション変数を示します。
| 可変 | 説明 | デフォルト値 |
|---|---|---|
bc-instance-client-id |
Oracle Blockchain Platformクラウド・サービスのクライアントID。 | bc-instance-client-id |
bc-instance-client-secret |
Oracle Blockchain Platformクラウド・サービスのクライアント・シークレット。 | bc-instance-client-secret |
int-app-client-id |
Oracle Identity Cloud Service (IDCS)機密アプリケーションのクライアントID。CreateIDCSユーザーAPIでIDCSユーザーを作成するために使用されます。
|
アプリケーション内クライアントID |
int-app-client-secret |
IDCS機密アプリケーションのクライアント・シークレット。CreateIDCSユーザーAPIでIDCSユーザーを作成するために使用されます。
|
アプリケーション・クライアント内シークレット |
詳細は、Oracle Blockchain Platformのブロックチェーン・アプリケーション・ビルダーのラッパーAPIパッケージ・コンポーネントを参照してください。