Wrapper-APIs für Stablecoin bereitstellen und testen

Wrapper-API-Package bereitstellen

Bevor Sie das Wrapper-API-Package bereitstellen können, müssen Sie die erforderlichen Konfigurationsvariablen aktualisieren. Einige Konfigurationsvariablen haben Standardwerte. Sie müssen jedoch jede Variable, die einen Platzhalter als Standardwert enthält, manuell aktualisieren. Konfigurationsvariablen werden in der Datei terraform.tfvars im Wrapper-API-Archiv gespeichert. Weitere Informationen zum Deployment von Wrapper-APIs und zu Konfigurationsvariablen finden Sie unter Wrapper-APIs in Blockchain App Builder for Oracle Blockchain Platform. In der folgenden Tabelle sind die Konfigurationsvariablen und deren Standardwerte für das API-Package des Stablecoin-Wrappers aufgeführt.

Variablenname Standardwert Beschreibung
compartment_ocid <compartment_ocid> Die OCID des Compartments in Oracle Cloud Infrastructure (OCI).
compartment_name <compartment_name> Der Name des OCI Compartments.
identity_domain <identity_domain> Die zu verwendende Identitätsdomain.
blockchain_channel <blockchain_channel> Der Name des Oracle Blockchain Platform-Kanals, in dem der Chaincode bereitgestellt wird.
blockchain_url <blockchain_url> Die Oracle Blockchain Platform-URL, die mit dem Chaincode-Deployment verknüpft ist.
blockchain_chaincode Stablecoin Der Name des Chaincodes, für den Wrapper-APIs generiert werden sollen.
blockchain_sync true Der Synchronisierungswert, der in die Payload für API-Aufrufe aufgenommen werden soll.
blockchain_timeout 6000 Der Timeoutwert, der in die Payload für API-Aufrufe aufgenommen werden soll.
vcn_display_name Stablecoin Der Anzeigename des virtuellen OCI-Cloud-Netzwerks.
application_display_name Stablecoin Der Anzeigename der OCI-Anwendung.
gateway_display_name Stablecoin Der Anzeigename des API-Gateways.
deployment_display_name Stablecoin Der Anzeigename des Deployments im API-Gateway.
deployment_path_prefix /Stablecoin Das Deployment-Pfadpräfix in API Gateway, das den Pfad angibt, in dem Routen bereitgestellt werden. Die Variable deployment_path_prefix muss mit einem Schrägstrich (/) beginnen.
ocir_repo_name Stablecoin Der Name des OCI Registry-Repositorys. Die Variable ocir_repo_name muss aus Kleinbuchstaben bestehen.
policy_name Stablecoin Der Name der Policy, die eine kontrollierte Verwaltung und Zugriff auf APIs über definierte Berechtigungen für Gruppen und Compartments in der Organisation ermöglicht

Stablecoin Beispielprozessfluss

Ein typischer Prozessfluss mit den Stablecoin-Wrapper-APIs folgt diesen grundlegenden Schritten.
  1. Der Tokenadministrator initialisiert einen Stablecoin mit einem festen currencyName-Wert (z.B. USD) und einem conversionRate-Wert mit der Methode initializeStablecoinToken.
  2. Der Tokenadministrator verwendet die Methoden createAccount und associateTokenToAccount, um Tokenaccounts für alle Benutzer zu erstellen (Genehmiger, Miner, Notare, Absender und Empfänger auf mehreren Ebenen).
  3. Der Tokenadministrator erstellt Account-Policys mit der Methode createStablecoinAccountPolicyCheck. Kontorichtlinien sind für alle Konten obligatorisch, die Stablecoins übertragen oder halten. Jede Account-Policy enthält drei Parameter: KYC, AML und restrictionFlag.
    KYC (Know Your Customer)
    Der Transfer ist nur zulässig, wenn die KYC-Werte für Absender- und Empfängerkonten true lauten.
    AML (Geldwäschebekämpfung)
    Der Transfer ist nur zulässig, wenn die AML-Werte für Absender- und Empfängerkonten true lauten.
    restrictionFlag
    Wenn das Einschränkungskennzeichen für das Absender- oder Empfängerkonto auf true gesetzt ist, ist die Übertragung nur im niedrigsten Zeitraum für Genehmigungs-Policy-Buckets zulässig, sodass eine Genehmigungs-Policy erforderlich ist.
  4. Der Tokenadministrator verwendet createApprovalPolicyCheck, um eine Genehmigungs-Policy zu erstellen. Genehmigungs-Policys definieren Transaktionsschwellenwerte, die erforderliche Anzahl von Genehmigungen und Genehmigerdetails und legen die Reihenfolge für Genehmigungen mit mehreren Ebenen fest. Für einen Sperrvorgang ist eine Genehmigungs-Policy erforderlich. Ohne eine Genehmigungs-Policy können Benutzer Token nicht sperren oder übertragen, wenn Einschränkungen gelten.
  5. Der Tokenadministrator verwendet die Methode addRole, um den entsprechenden Accounts die Minter-, Burner- und Notarrollen zuzuweisen.
  6. Der Miner verwendet die requestMint-Methode, um eine Anfrage an Stablecoins zu senden.
  7. Der Notar verwendet die Methode approveMint, um die Minting-Anforderung zu genehmigen.
  8. Der Absender initiiert eine Übertragung mit der Methode holdTokens. Das System führt eine Prüfung der Kontorichtlinien für Absender und Empfänger aus. Wenn die KYC- oder AML-Compliance für beide Konten nicht erfüllt wird, ist die Übertragung nicht zulässig. Wenn das Einschränkungskennzeichen für eines der Konten auf true gesetzt ist, kann nur der Betrag im niedrigsten Schwellenwertbereich der Genehmigungs-Policy gesperrt werden. Der Transferbetrag wird dann mit den Schwellenwerten für die Genehmigungs-Policy abgeglichen, und die erforderlichen Genehmiger und ihre Genehmigungssequenzen werden aus der Genehmigungs-Policy abgeleitet.
  9. Genehmiger mit mehreren Ebenen verwenden die Methode approveTransaction, um den Transfer in der genauen Reihenfolge zu prüfen und zu autorisieren, die in der Genehmigungs-Policy definiert ist. Wenn die Genehmigungs-Policy null Genehmiger angibt, kann der Notar die Transaktion mit der Methode executeHoldTokens direkt abschließen. Das System validiert die KYC- und AML-Compliance und das Einschränkungskennzeichen bei jedem Aufruf von executeHoldTokens und approveTransaction erneut. Wenn eine Prüfung fehlschlägt, wird die Transaktion blockiert.
  10. Nachdem alle Genehmigungen erfolgreich abgeschlossen wurden, verwendet der zugewiesene Notar die Methode executeHoldTokens, um die Übertragung auf das Konto des Empfängers abzuschließen.
  11. Der Brenner verwendet die Methode requestBurn, um eine Anfrage zum Brennen von Stablecoins zu stellen.
  12. Der Notar verwendet die Methode approveBurn, um die Burn-Anforderung zu genehmigen.
  13. Tokenadministratoren und -auditoren verwenden getStablecointAccountTransactionHistory und getStablecoinAccountTransactionHistoryWithFilters, um alle Tokenereignisse zu verfolgen, einschließlich Minting, Halten, Genehmigungsabläufe auf mehreren Ebenen, Übertragungen und Brennen.

Postman Sammlung

Die Postman-Sammlung im Stablecoin-Wrapper-API-Paket enthält zusätzliche Attribute und Methoden, die den Stablecoin-Chaincode unterstützen. Die folgende Tabelle zeigt die Postman-Sammlungsvariablen, die spezifisch für das Stablecoin-Paket sind.
Variable Beschreibung Standardwert
bc-instance-client-id Die Client-ID des Oracle Blockchain Platform-Cloud-Service. bc-instance-client-id
bc-instance-client-secret Das Client Secret des Oracle Blockchain Platform-Cloud-Service. bc-instance-client-secret
int-app-client-id Die Client-ID der vertraulichen Oracle Identity Cloud Service-(IDCS-)Anwendung, mit der ein IDCS-Benutzer in der Benutzer-API CreateIDCS erstellt wird. int-app-client-id
int-app-client-secret Das Client Secret der vertraulichen IDCS-Anwendung, mit dem ein IDCS-Benutzer in der Benutzer-API CreateIDCS erstellt wird. int-app-client-secret

Weitere Informationen finden Sie unter Wrapper API Package Components in Blockchain App Builder for Oracle Blockchain Platform.