Déployer et tester le code chaîne Stablecoin

Vous pouvez déployer le code chaîne directement à partir de la console Oracle Blockchain Platform ou à l'aide de Blockchain App Builder.

Déploiement du code chaîne

Avant de déployer le code chaîne, créez des ID d'inscription pour chaque utilisateur de jeton, puis mappez les utilisateurs de jeton avec leurs ID d'inscription respectifs. Indiquez un seul utilisateur pour chaque inscription. Pour plus d'informations sur l'ajout d'inscriptions, reportez-vous à Ajout d'inscriptions à un proxy REST dans Utilisation d'Oracle Blockchain Platform.

Lorsque vous déployez le code chaîne de jeton, vous devez appeler la méthode init et transmettre l'ID d'organisation et l'ID utilisateur de l'utilisateur Token Admin.

Pour plus d'informations sur le déploiement à partir de la console Oracle Blockchain Platform, reportez-vous à Utilisation du déploiement avancé dans Utilisation d'Oracle Blockchain Platform.

Pour effectuer un déploiement à l'aide de Blockchain App Builder, procédez comme suit :
  1. Extrayez le fichier d'archive Stablecoin.zip.
  2. Importez le code chaîne Stablecoin vers l'extension Blockchain App Builder dans Visual Studio Code.
  3. Modifiez le fichier .ochain.json pour mettre à jour la valeur de la clé configFileLocation vers le chemin du fichier de spécification Stablecoin.yml.
  4. Ouvrez une fenêtre de terminal et accédez au dossier de codes chaîne, puis exécutez la commande suivante.
    npm install
Pour plus d'informations sur le déploiement à l'aide de Blockchain App Builder, reportez-vous à Déploiement de votre code chaîne à l'aide de Visual Studio Code dans le guide Utilisation d'Oracle Blockchain Platform.

Exemple de flux de processus pour le code chaîne Stablecoin

Un flux de processus typique utilisant les méthodes stablecoin suit ces étapes de base.
Configuration:
  1. Les administrateurs de jetons utilisent la méthode initializeStablecoinToken pour initialiser le stablecoin, en spécifiant des valeurs pour currencyName fixe (tel que USD) et conversionRate.
  2. Les administrateurs de jetons utilisent les méthodes createAccount et associateTokenToAccount pour créer des comptes de jetons et affecter des rôles à tous les utilisateurs, y compris les approbateurs pour les approbations multiniveau, les mineurs, les notaires, les expéditeurs et les récepteurs.
  3. Les administrateurs de jetons ou les administrateurs d'organisation utilisent la méthode createAccountPolicyCheck pour créer des stratégies de compte pour tous les expéditeurs et récepteurs, et vérifier les indicateurs KYC, AML et de restriction.
  4. Les administrateurs de jetons utilisent la méthode createApprovalPolicyCheck pour définir des stratégies d'approbation en spécifiant des seuils de transaction, des exigences d'approbation telles que le nombre requis d'approbations et des détails d'approbateur avec des séquences d'approbation pour les approbations à plusieurs niveaux.
  5. Les administrateurs de jetons utilisent la méthode addRole pour affecter des rôles tels que mineur, brûleur et notaire aux comptes.
Minting :
  1. Le minter utilise la méthode requestMint pour demander l'approbation de la monnaie stable.
  2. L'approbateur mint utilise la méthode approveMint pour approuver la demande du minter.
  3. Les stablecoins sont émis sur le compte du mineur.
Conservation et transfert :
  1. Un utilisateur lance un transfert à l'aide de la méthode holdTokens.
  2. Le système vérifie la conformité de la stratégie AccountPolicyCheck. Si les valeurs kycCompliance ou amlCompliance sont définies sur false pour l'expéditeur ou le destinataire, le transfert n'a pas lieu. Si la valeur restrictionFlag est définie sur true pour l'expéditeur ou le destinataire, seul le montant situé dans la plage la plus basse de la stratégie d'approbation peut être transféré. Le montant du transfert est rapproché des seuils ApprovalPolicyCheck et les approbateurs appropriés avec les séquences définies sont appliqués à la transaction.
  3. Les approbateurs utilisent la méthode approveTransaction pour vérifier et autoriser le transfert. Les approbations sont effectuées en fonction de la séquence de l'approbateur telle que définie dans la stratégie d'approbation.
  4. Après toutes les approbations, le notaire système (défini lors du processus de blocage) utilise la méthode executeHoldTokens pour approuver la transaction. Le montant approuvé est transféré sur le compte du bénéficiaire.
Les valeurs kycCompliance, amlCompliance et restrictionFlag pour l'expéditeur et le destinataire sont validées lors de toutes les approbations qui utilisent les méthodes approveTransaction ou executeHoldTokens.
Brûlure :
  1. Le brûleur utilise la méthode requestBurn pour demander l'approbation de brûler (détruire) des stablecoins.
  2. L'approbateur de gravure utilise la méthode approveBurn pour approuver la demande du brûleur.
  3. Les stablecoins sont brûlés sur le compte du brûleur.
Audit:
  • Les administrateurs et les auditeurs peuvent suivre chaque opération de menthe, de blocage, de transfert, d'approbation à plusieurs niveaux et de gravure à l'aide des méthodes getAccountTransactionHistory et getAccountTransactionHistoryWithFilters.
Pour plus d'informations sur l'utilisation des collections Postman, reportez-vous aux rubriques suivantes dans Blockchain App Builder pour Oracle Blockchain Platform.