Paquet de chaîne CBDC en gros

L'édition numérique de ressources d'Oracle Blockchain Platform comprend un exemple de code de chaîne pour le scénario de devise numérique de la banque centrale (CBDC) de gros.

Le paquetage de code de chaîne CBDC de gros est basé sur la norme étendue Token Taxonomy Framework prise en charge par Blockchain App Builder. Le paquet met en œuvre des méthodes pour un système où les jetons représentant la monnaie fiduciaire sont détenus dans les institutions financières et sont émis et gérés par des institutions financières réglementées. L'exemple de fichier de spécification génère des méthodes pour initialiser des jetons, gérer des comptes, affecter des rôles et effectuer des opérations telles que la frappe, le transfert et la gravure de jetons. Il fournit également des comptes de notaire pour l'approbation de la frappe et des transferts, applique le respect des limites quotidiennes au niveau du compte et permet des procédures d'audit. Le code de chaîne peut être généré par le générateur d'applications Blockchain à partir du fichier de spécification WholesaleCBDC.yml dans TypeScript ou Go.

L'ensemble de code de chaîne CBDC de gros peut être téléchargé à partir de la console Oracle Blockchain Platform et comprend les composants suivants.
  • WholesaleCBDC.zip, un fichier d'archives contenant le code de chaîne packagé pour le déploiement.
  • WholesaleCBDC.yaml, un fichier de spécification que vous pouvez utiliser avec Blockchain App Builder pour balayer le code de chaîne WholesaleCBDC.
  • WholesaleCBDC_postman_collection.json, une collection Postman qui vous permet de tester les API dans le code de chaîne.
  • README.md, un guide étape par étape pour l'utilisation du code de chaîne.

Pour obtenir l'ensemble de code de chaîne CBDC de gros, dans la console Oracle Blockchain Platform Digital Assets, cliquez sur l'onglet Digital Assets (Ressources numériques), puis sélectionnez Wholesale CBDC Application (Application CBDC de gros).

Vous pouvez essayer le code de chaîne CBDC en gros de la même manière que les autres échantillons. Vous devez être administrateur pour installer et déployer des exemples de code de chaîne.

  1. Dans la page Devise numérique de la banque centrale de gros, cliquez sur Installer.
  2. Dans la fenêtre Installer le code de chaîne, spécifiez un ou plusieurs pairs sur lesquels installer le code de chaîne, puis cliquez sur Installer.
  3. Cliquez sur Déployer.
  4. Dans la fenêtre Déployer le code de chaîne, spécifiez le canal vers lequel déployer le code de chaîne. Les paramètres initiaux du code de chaîne seront utilisés pour spécifier l'administrateur du jeton. Ces valeurs ne sont pas modifiables. Ils correspondent par défaut à l'ID organisation et à l'ID utilisateur de l'utilisateur connecté à la console. Cliquez sur Déployer.
  5. Cliquez sur Appeler.
  6. Dans la fenêtre Appeler le code de chaîne, spécifiez le canal sur lequel exécuter la transaction. Dans la liste Action, spécifiez une action à effectuer. Cliquez sur Exécuter.

Fichier de spécification

Le fichier de spécification CBDC de gros (Wholesale_CBDC.yml) est basé sur le fichier de spécification étendu Token Taxonomy Framework. Il inclut un attribut model, qui génère le code de chaîne propre à l'application. Dans ce cas, model: wcbdc crée des méthodes supplémentaires pour l'application CBDC de gros lors de la génération du code de chaîne. L'extrait de code suivant du fichier de spécification affiche l'attribut model.
#
# Copyright (c) 2025, Oracle and/or its affiliates. All rights reserved.
#

assets:

# Token asset to manage the complete lifecycle of Wholesale CBDC token.

    - name: CBDC # Asset name
      type: token # Asset type
      standard: ttf+   # Token standard
      events: true # Supports event code generation for non-GET methods
      model: wcbdc # Supports creation of additional methods for Wholesale CBDC application

      anatomy:
          type: fungible # Token type 
          unit: fractional # Token unit

      behavior: # Token behaviors
          - divisible:
                decimal: 2 
          - mintable: 
                mint_approval_required: true 
          - transferable 
          - burnable:
                burn_approval_required: true 
          - holdable
          - roles:
                minter_role_name: minter
                burner_role_name: burner
                notary_role_name: notary
                mint_approver_role_name: notary
                burn_approver_role_name: notary