Paquete de código de cadena de marco de token fungible

El marco de token fungible utiliza el estándar ampliado de marco de taxonomía de token que soporta Blockchain App Builder.

El ejemplo de token de depósito ilustra el uso del marco genérico de token fungible, que se basa en el estándar extendido Token Taxonomy Framework soportado por Blockchain App Builder. La muestra representa un sistema en el que los tokens de depósito representan la moneda fiduciaria mantenida en instituciones financieras y son emitidos y gestionados por instituciones financieras reguladas. El archivo de especificación de ejemplo genera métodos para inicializar un token de depósito, gestionar cuentas, asignar roles y realizar operaciones como acuñar, transferir y grabar tokens. También proporciona cuentas notariales para aprobar acuñación y transferencias, aplica el cumplimiento de los límites diarios a nivel de cuenta y permite procedimientos de auditoría.

El paquete de código de cadena de marco de token fungible se puede descargar de la consola de Oracle Blockchain Platform e incluye los siguientes componentes.
  • DepositToken.zip, un archivo de almacenamiento que contiene el código de cadenas empaquetado para el despliegue.
  • DepositToken.yaml, un archivo de especificación que puede utilizar con Blockchain App Builder para andamiar el código de cadena DepositToken.
  • DepositToken_postman_collection.json, una recopilación de Postman que permite probar las API en el código de cadenas.
  • README.md, guía paso a paso para trabajar con el código de cadenas.

Para obtener el marco de token fungible, en la consola Activos digitales de Oracle Blockchain Platform, haga clic en el separador Activos digitales y, a continuación, seleccione Marco de token fungible.

Archivo de especificaciones

El archivo de especificación que se utiliza para generar el código de cadena de token de depósito incluye el atributo events. La función de eventos de código de cadenas soporta devoluciones de llamadas de eventos en códigos de cadenas generados para activar notificaciones en tiempo real y disparar flujos de trabajo. Para obtener más información sobre los archivos de especificación y los parámetros utilizados en los archivos de especificación, consulte Input Specification File for Fungible Tokens in Using Oracle Blockchain Platform.

El código de cadena de token de depósito se basa en el estándar ampliado del marco de taxonomía de token, con personalizaciones para admitir el escenario de la aplicación. Se necesita la siguiente sección de comportamiento del archivo de especificación para activar estas personalizaciones.
behavior: # Token behaviors
    - divisible:
          decimal: 2
    - mintable:
          mint_approval_required: true
    - transferable
    - burnable
    - holdable
    - roles:
          minter_role_name: minter
          notary_role_name: notary
          mint_approver_role_name: notary
El siguiente código es el archivo de especificación para el ejemplo de tokens de depósito.
#
# Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved.
#
 
assets:
 
# This specification file is an example how to build any fungible token application.
# For a fungible token application, deposit token system has been used as an example.
# Deposit token is a digital representation of deposits held at commercial banks, enabling transactions on blockchain networks while maintaining the value and stability of traditional bank deposits.
 
 
    - name: Deposit # Asset name
      type: token  # Asset type
      standard: ttf+   # Token standard
      events: true # Supports event code generation for non-GET methods
 
      anatomy:
          type: fungible # Token type
          unit: fractional # Token unit
 
      behavior: # Token behaviors
          - divisible:
                decimal: 2 
          - mintable:
                mint_approval_required: true
          - transferable 
          - holdable
          - burnable
          - roles:
                minter_role_name: minter
                notary_role_name: notary
                mint_approver_role_name: notary
 
 
      properties:
          - name: Token_Name # Custom attribute to represent the deposit token name.
            type: string
 
          - name: Token_to_Currency_Ratio # Custom attribute to specify the token to currency ratio. This attribute is helpful for exchanging the tokens with fiat currency.
            type: number
 
customMethods:

Detalles de Endosador en Métodos de Código de Cadena

Oracle Blockchain Platform Digital Assets Edition agrega un parámetro de endoso a la carga útil de solicitud para todos los métodos setter. El valor del parámetro es endorsers o sameOrgEndorser. Si el parámetro sameOrgEndorser es true, los endosos de transacción deben ser de la misma organización que el solicitante. El parámetro endorsers especifica una lista de peers que deben aprobar la transacción. Para obtener más información, consulte Soporte de aval en las recopilaciones de Postman. En la siguiente tabla, se muestra el tipo de endosador para cada método.

Método Tipo de avalista
activateAccount endorsers
addTokenAdmin sameOrgEndorser
addTokenAuditor sameOrgEndorser
addOrgAdmin sameOrgEndorser
addOrgAuditor sameOrgEndorser
addRole endorsers
approveMint sameOrgEndorser
executeHoldTokens endorsers
associateTokenToAccount endorsers
createAccount endorsers
getAccount endorsers
getAccountBalance endorsers
getAccountsByUser endorsers
getAccountTransactionHistory endorsers
getAccountTransactionHistoryWithFiltersFromRichHistDB endorsers
getNetTokens endorsers
getOnHoldIds endorsers
getTotalMintedTokens endorsers
getUserByAccountId endorsers
getUsersByRole endorsers
holdTokens endorsers
init endorsers
initializeDepositToken sameOrgEndorser
issueTokens sameOrgEndorser
rejectMint sameOrgEndorser
releaseHoldTokens endorsers
removeTokenAdmin sameOrgEndorser
removeTokenAuditor sameOrgEndorser
removeOrgAdmin sameOrgEndorser
removeOrgAuditor sameOrgEndorser
removeRole endorsers
requestMint sameOrgEndorser
burnTokens sameOrgEndorser
setMaxDailyAmount endorsers
setMaxDailyTransactionCount endorsers
suspendAccount endorsers
transferTokens endorsers
initializeExchangePoolUser sameOrgEndorser
createExchangePoolAccounts sameOrgEndorser
addConversionRate sameOrgEndorser
updateConversionRate sameOrgEndorser
mintWithFundingExchangePool sameOrgEndorser
tokenConversion endorsers
getConversionRate endorsers
getConversionHistory endorsers
getConversionRateHistory endorsers
getExchangePoolUser endorsers
getAccountOnHoldBalance endorsers
getAccountStatus endorsers
getAccountsByRole endorsers