Atacado CBDC Chaincode Pacote

A Edição de Ativos Digitais do Oracle Blockchain Platform inclui um chaincode de amostra para o cenário de moeda digital do banco central de atacado (CBDC).

O pacote de chaincode CBDC por atacado é baseado no padrão estendido Token Taxonomy Framework suportado pelo Blockchain App Builder. O pacote implementa métodos para um sistema em que os tokens que representam moeda fiduciária são mantidos em instituições financeiras e são emitidos e gerenciados por instituições financeiras regulamentadas. O arquivo de especificação de amostra gera métodos para inicializar tokens, gerenciar contas, atribuir funções e concluir operações como cunhagem, transferência e gravação de tokens. Ele também fornece contas notariais para aprovação de cunhagem e transferências, reforça a conformidade com limites diários no nível da conta e permite procedimentos de auditoria. O chaincode pode ser gerado pelo Blockchain App Builder no arquivo de especificação WholesaleCBDC.yml em TypeScript ou Go.

O pacote de chaincode de CBDC por atacado pode ser baixado na console do Oracle Blockchain Platform e inclui os componentes a seguir.
  • WholesaleCBDC.zip, um arquivo compactado que contém o chaincode compactado para implantação.
  • WholesaleCBDC.yaml, um arquivo de especificação que você pode usar com o Blockchain App Builder para montar o chaincode WholesaleCBDC.
  • WholesaleCBDC_postman_collection.json, uma coleção Postman que permite testar as APIs no chaincode.
  • README.md, um guia passo a passo para trabalhar com o chaincode.

Para obter o pacote de chaincode de CBDC por atacado, na console de Ativos Digitais do Oracle Blockchain Platform, clique na guia Ativos Digitais e selecione Aplicativo CBDC por Atacado.

Você pode experimentar o chaincode CBDC por atacado da mesma forma que outras amostras. Você deve ser um administrador para instalar e implantar códigos de cadeia de amostra.

  1. Na página Moeda Digital do Banco Central Atacadista, clique em Instalar.
  2. Na janela Instalar Chaincode, especifique um ou mais pares nos quais o chaincode será instalado e clique em Instalar.
  3. Clique em Disponibilizar.
  4. Na janela Implantar Chaincode, especifique o canal para o qual implantar o chaincode. Os parâmetros iniciais do chaincode serão usados para especificar o administrador do token. Esses valores não são editáveis. Eles assumem como padrão o ID da organização e o ID do usuário que está conectado ao console. Clique em Implantar.
  5. Clique em Chamar.
  6. Na janela Chamar Chaincode, especifique o canal no qual a transação será executada. Na lista Ação, especifique uma ação a ser concluída. Clique em Executar.

Arquivo de Especificação

O arquivo de especificação CBDC atacadista (Wholesale_CBDC.yml) é baseado no arquivo de especificação estendido do Token Taxonomy Framework. Ele inclui um atributo model, que gera o chaincode específico do aplicativo. Nesse caso, model: wcbdc cria métodos adicionais para o aplicativo CBDC de atacado quando o chaincode é gerado. O trecho de código a seguir do arquivo de especificação mostra o atributo 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