Großhandel CBDC Chaincode Paket

Die Oracle Blockchain Platform Digital Assets Edition enthält Beispiel-Chaincode für das CBDC-Szenario (Großhandelszentralbank).

Das CBDC-Kettencode-Großhandelspaket basiert auf dem erweiterten Token Taxonomy Framework-Standard, der von Blockchain App Builder unterstützt wird. Das Paket implementiert Methoden für ein System, bei dem Token, die Fiat-Währung darstellen, bei Finanzinstituten gehalten und von regulierten Finanzinstituten ausgegeben und verwaltet werden. Die Beispielspezifikationsdatei generiert Methoden zum Initialisieren von Token, zum Verwalten von Konten, zum Zuweisen von Rollen und zum Abschließen von Vorgängen wie Prägen, Übertragen und Brennen von Token. Es bietet auch Notarkonten für die Genehmigung von Präge- und Versetzungen, setzt die Einhaltung der täglichen Limits auf Kontoebene durch und ermöglicht Auditingverfahren. Der Chaincode kann von Blockchain App Builder aus der WholesaleCBDC.yml-Spezifikationsdatei in TypeScript oder Go generiert werden.

Das CBDC-Großhandelskettencodepackage kann von der Oracle Blockchain Platform-Konsole heruntergeladen werden und umfasst die folgenden Komponenten.
  • WholesaleCBDC.zip, eine Archivdatei, die den in einem Package integrierten Chaincode für das Deployment enthält.
  • WholesaleCBDC.yaml, eine Spezifikationsdatei, die Sie mit Blockchain App Builder verwenden können, um den WholesaleCBDC-Kettencode zu erstellen.
  • WholesaleCBDC_postman_collection.json, eine Postman-Sammlung, mit der Sie die APIs im Chaincode testen können.
  • README.md, eine schrittweise Anleitung für die Arbeit mit dem Chaincode.

Um das CBDC-Großhandelskettencodepackage abzurufen, klicken Sie in der Oracle Blockchain Platform Digital Assets-Konsole auf die Registerkarte Digitale Assets, und wählen Sie Großhandels-CBDC-Anwendung aus.

Sie können den CBDC-Kettencode im Großhandel genauso ausprobieren wie andere Muster. Sie müssen Administrator sein, um Beispiel-Chaincodes zu installieren und bereitzustellen.

  1. Klicken Sie auf der Seite Digitale Währung der Großhandelszentralbank auf Installieren.
  2. Geben Sie im Fenster Kettencode installieren mindestens einen Peer an, auf dem der Chaincode installiert werden soll, und klicken Sie dann auf Installieren.
  3. Klicken Sie auf Bereitstellen.
  4. Geben Sie im Fenster Chaincode bereitstellen den Kanal an, für den der Chaincode bereitgestellt werden soll. Die anfänglichen Parameter des Chaincodes werden zur Angabe des Tokenadministrators verwendet. Diese Werte können nicht bearbeitet werden. Standardmäßig werden die Organisations-ID und die Benutzer-ID des Benutzers verwendet, der bei der Konsole angemeldet ist. Klicken Sie auf Bereitstellen.
  5. Klicken Sie auf Aufrufen.
  6. Geben Sie im Fenster Chaincode aufrufen den Kanal an, auf dem die Transaktion ausgeführt werden soll. Geben Sie in der Liste Aktion eine auszuführende Aktion an. Klicken Sie auf Ausführen.

Spezifikationsdatei

Die CBDC-Großhandelsspezifikationsdatei (Wholesale_CBDC.yml) basiert auf der erweiterten Spezifikationsdatei des Token Taxonomy Framework. Es enthält ein model-Attribut, das den anwendungsspezifischen Chaincode generiert. In diesem Fall erstellt model: wcbdc zusätzliche Methoden für die CBDC-Großhandelsanwendung, wenn der Chaincode generiert wird. Das folgende Snippet aus der Spezifikationsdatei zeigt das 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