Déployer et tester des API de wrapper pour Stablecoin

Déploiement du package d'API Wrapper

Pour pouvoir déployer le package d'API wrapper, vous devez mettre à jour les variables de configuration requises. Certaines variables de configuration ont des valeurs par défaut, mais vous devez mettre à jour manuellement toute variable contenant un espace réservé comme valeur par défaut. Les variables de configuration sont stockées dans le fichier terraform.tfvars de l'archive d'API de wrapper. Pour plus d'informations sur le déploiement des API de wrapper et sur les variables de configuration, reportez-vous à API de wrapper dans Blockchain App Builder for Oracle Blockchain Platform. Le tableau suivant répertorie les variables de configuration et leurs valeurs par défaut pour le package API wrapper stablecoin.

Nom de variable Valeur par défaut Description
compartment_ocid <compartment_ocid> OCID du compartiment dans Oracle Cloud Infrastructure (OCI).
compartment_name <compartment_name> Nom du compartiment OCI.
identity_domain <identity_domain> Domaine d'identité à utiliser.
blockchain_channel <blockchain_channel> Nom du canal Oracle Blockchain Platform sur lequel le code chaîne est déployé.
blockchain_url <blockchain_url> URL Oracle Blockchain Platform associée au déploiement de code chaîne.
blockchain_chaincode Stablecoin Nom du code chaîne pour lequel générer des API de wrapper.
blockchain_sync true Valeur de synchronisation à inclure dans la charge utile pour les appels d'API.
blockchain_timeout 6000 Valeur de délai d'expiration à inclure dans la charge utile pour les appels d'API.
vcn_display_name Stablecoin Nom d'affichage du réseau cloud virtuel OCI.
application_display_name Stablecoin Nom d'affichage de l'application OCI.
gateway_display_name Stablecoin Nom d'affichage de API Gateway.
deployment_display_name Stablecoin Nom d'affichage du déploiement dans API Gateway.
deployment_path_prefix /Stablecoin Préfixe de chemin de déploiement dans API Gateway, qui indique le chemin où les routages sont déployés. La variable deployment_path_prefix doit commencer par une barre oblique (/).
ocir_repo_name Stablecoin Nom du référentiel OCI Registry. La variable ocir_repo_name doit être composée de lettres minuscules.
policy_name Stablecoin Nom de la stratégie qui permet une gestion contrôlée et un accès aux API via des droits d'accès définis pour les groupes et les compartiments dans l'organisation

Exemple de processus Stablecoin

Un flux de processus typique utilisant les API de wrapper stablecoin suit ces étapes de base.
  1. L'administrateur de jeton utilise la méthode initializeStablecoinToken pour initialiser un stablecoin avec une valeur currencyName fixe (par exemple, USD) et une valeur conversionRate.
  2. L'administrateur de jetons utilise les méthodes createAccountet associateTokenToAccount pour créer des comptes de jetons pour tous les utilisateurs (approbateurs multiniveaux, mineurs, notaires, expéditeurs et récepteurs).
  3. L'administrateur de jetons utilise la méthode createStablecoinAccountPolicyCheck pour créer des stratégies de compte. Les stratégies de compte sont obligatoires pour tous les comptes qui transfèrent ou détiennent des pièces stables. Chaque stratégie de compte inclut trois paramètres : KYC, AML et restrictionFlag.
    KYC (Connaître son client)
    Le transfert n'est autorisé que lorsque les valeurs KYC sont true pour les comptes émetteur et récepteur.
    AML (Anti-blanchiment d'argent)
    Le transfert n'est autorisé que lorsque les valeurs AML sont true pour les comptes émetteur et récepteur.
    restrictionFlag
    Si l'indicateur de restriction est défini sur true pour le compte expéditeur ou destinataire, le transfert n'est autorisé que dans la plage de catégories de stratégie d'approbation la plus basse, ce qui rend une stratégie d'approbation obligatoire.
  4. L'administrateur de jeton utilise createApprovalPolicyCheck pour créer une stratégie d'approbation. Les stratégies d'approbation définissent les seuils de transaction, le nombre requis d'approbations et les détails des approbateurs, et définissent la séquence pour les approbations à plusieurs niveaux. Une stratégie d'approbation est obligatoire pour une opération de blocage. Sans stratégie d'approbation, les utilisateurs ne peuvent pas détenir ou transférer de jetons lorsque des restrictions s'appliquent.
  5. L'administrateur de jetons utilise la méthode addRole pour affecter les rôles mineur, brûleur et notaire aux comptes appropriés.
  6. Le minter utilise la méthode requestMint pour soumettre une demande à ment stablecoins.
  7. Le notaire utilise la méthode approveMint pour approuver la demande d'extraction.
  8. L'expéditeur utilise la méthode holdTokens pour lancer un transfert. Le système exécute une vérification de stratégie de compte pour l'expéditeur et le destinataire. Si la conformité KYC ou AML n'est pas satisfaite pour l'un ou l'autre compte, le transfert n'est pas autorisé. Si l'indicateur de restriction est défini sur true pour l'un ou l'autre des comptes, seul le montant de la plage de seuils de stratégie d'approbation la plus basse peut être bloqué. Le montant du transfert est ensuite mis en correspondance avec les seuils de stratégie d'approbation, et les approbateurs requis et leurs séquences d'approbation sont dérivés de la stratégie d'approbation.
  9. Les approbateurs multiniveau utilisent la méthode approveTransaction pour vérifier et autoriser le transfert dans la séquence exacte définie dans la stratégie d'approbation. Si la stratégie d'approbation spécifie zéro approbateur, le notaire peut utiliser la méthode executeHoldTokens directement pour terminer la transaction. Le système valide de nouveau la conformité KYC et AML et l'indicateur de restriction lors de chaque appel vers executeHoldTokens et approveTransaction. Si une vérification échoue, la transaction est bloquée.
  10. Une fois toutes les approbations terminées, le notaire affecté utilise la méthode executeHoldTokens pour terminer le transfert vers le compte du destinataire.
  11. Le brûleur utilise la méthode requestBurn pour soumettre une demande de gravure de stablecoins.
  12. Le notaire utilise la méthode approveBurn pour approuver la demande de gravure.
  13. Les administrateurs et les auditeurs de jetons utilisent getStablecointAccountTransactionHistory et getStablecoinAccountTransactionHistoryWithFilters pour suivre tous les événements de jeton, y compris le minage, le blocage, les flux d'approbation multiniveau, les transferts et la gravure.

Collection Postman

La collection Postman dans le package API wrapper stablecoin inclut des attributs et des méthodes supplémentaires qui prennent en charge le code chaîne stablecoin. Le tableau suivant présente les variables de la collection Postman qui sont spécifiques au package stablecoin.
Variable Description Valeur par défaut
bc-instance-client-id ID client du service cloud Oracle Blockchain Platform. bc-instance-client-id
bc-instance-client-secret Clé secrète du client du service cloud Oracle Blockchain Platform. bc-instance-client-secret
int-app-client-id ID client de l'application confidentielle Oracle Identity Cloud Service (IDCS), qui permet de créer un utilisateur IDCS dans l'API utilisateur CreateIDCS. int-app-client-id
int-app-client-secret Clé secrète client de l'application confidentielle IDCS, utilisée pour créer un utilisateur IDCS dans l'API utilisateur CreateIDCS. int-app-client-secret

Pour plus d'informations, reportez-vous à Composants de package d'API de wrapper dans Blockchain App Builder for Oracle Blockchain Platform.