Déployer et tester le code de chaîne Stablecoin

Vous pouvez déployer le code de chaîne directement à partir de la console Oracle Blockchain Platform ou à l'aide du générateur d'applications Blockchain.

Déploiement du code de chaîne

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

Lorsque vous déployez le code de chaîne de jeton, vous devez appeler la méthode init et transmettre l'ID 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, voir Utiliser le déploiement avancé dans Utilisation d'Oracle Blockchain Platform.

Pour effectuer un déploiement à l'aide du générateur d'applications Blockchain, procédez comme suit.
  1. Extraire le fichier d'archives Stablecoin.zip.
  2. Importez le code de chaîne Stablecoin dans l'extension Blockchain App Builder dans Visual Studio Code.
  3. Modifiez le fichier .ochain.json pour mettre à jour la valeur de la clé configFileLocation au chemin du fichier de spécification Stablecoin.yml.
  4. Ouvrez une fenêtre de terminal et naviguez jusqu'au dossier de code de chaîne, puis exécutez la commande suivante.
    npm install
Pour plus d'informations sur le déploiement à l'aide du générateur d'applications Blockchain, voir Déployer votre code de chaîne à l'aide de Visual Studio Code dans Utilisation d'Oracle Blockchain Platform.

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

Un flux de processus typique utilisant les méthodes stablecoin suit ces étapes de base.
Configurer :
  1. Les administrateurs de jeton utilisent la méthode initializeStablecoinToken pour initialiser le stablecoin, en spécifiant des valeurs pour currencyName fixe (par exemple USD) et conversionRate.
  2. Les administrateurs de jeton utilisent les méthodes createAccount et associateTokenToAccount pour créer des comptes de jeton et affecter des rôles à tous les utilisateurs, y compris les approbateurs pour les approbations à plusieurs niveaux, les approbateurs, les notaires, les expéditeurs et les destinataires.
  3. Les administrateurs de jeton ou les administrateurs d'organisation utilisent la méthode createAccountPolicyCheck pour créer des politiques de compte pour tous les expéditeurs et destinataires, et vérifier les indicateurs Connaissance du client, LBA et restriction.
  4. Les administrateurs de jeton utilisent la méthode createApprovalPolicyCheck pour définir des politiques 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 jeton utilisent la méthode addRole pour affecter des rôles tels que Minter, Burner et Notary aux comptes.
Menthe :
  1. Le minter utilise la méthode requestMint pour demander l'approbation des stablecoins de menthe.
  2. L'approbateur de menthe utilise la méthode approveMint pour approuver la demande de l'approbateur de menthe.
  3. Les stablecoins sont émis sur le compte du minter.
Détention 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 politique AccountPolicyCheck. Si les valeurs kycCompliance ou amlCompliance sont réglées à false pour l'expéditeur ou le destinataire, le transfert n'a pas lieu. Si la valeur restrictionFlag est réglée à true pour l'expéditeur ou le destinataire, seul le montant dans l'intervalle le plus bas de la politique d'approbation peut être transféré. Le montant du transfert est mis en correspondance avec les 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 définie dans la politique d'approbation.
  4. Après toutes les approbations, le notaire de système (défini lors du processus de blocage) utilise la méthode executeHoldTokens pour approuver la transaction. Le montant approuvé est transféré au compte du destinataire.
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 brûlage utilise la méthode approveBurn pour approuver la demande du brûleur.
  3. Les stablecoins sont brûlés à partir du compte du brûleur.
Vérification :
  • Les administrateurs et les vérificateurs peuvent suivre chaque opération de mint, de blocage, de transfert, d'approbation à plusieurs niveaux et de gravure à l'aide des méthodes getAccountTransactionHistory et getAccountTransactionHistoryWithFilters.
Pour plus de détails sur l'utilisation des collections Postman, voir les rubriques suivantes dans Blockchain App Builder for Oracle Blockchain Platform.