Archivo de especificación de entrada para marco de taxonomía de token

El comando de inicialización Blockchain App Builder lee el archivo de especificación de entrada y genera el proyecto andamio con varias herramientas para ayudar en el proceso de desarrollo de código de cadenas.

Puede definir activos estándar y activos de token basados en el marco de taxonomía de token en el mismo archivo de especificación. No puede definir activos de token basados en más de un estándar en el mismo archivo de especificación.

Para obtener información sobre la inclusión de activos estándar en el archivo de especificación, consulte Archivo de especificación de entrada.

Los siguientes archivos de especificación de ejemplo para activos de token fungibles están disponibles en el paquete Blockchain App Builder:
  • FiatMoneyToken.yml
  • LoyaltyToken-Go.yml

Además de las propiedades y secciones estándar, los activos de token fungibles soportan las secciones behavior y anatomy del archivo de especificación. Los activos de token fungibles también soportan la propiedad standard. En el siguiente ejemplo se muestra la estructura de un archivo de especificación para un activo de token fungible basado en el marco de taxonomía de token:

assets:
    - name: OBPTOK # Asset name
      type: token  # Asset type

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

      behavior: # Token behaviors
          - divisible: 
                decimal: 2  
          - mintable: 
                max_mint_quantity: 1000 
          - transferable
          - burnable 
          - roles: 
                minter_role_name: minter 

      properties:
          - name: currency_name # Custom attribute to represent the token in certain currency. This attribute is helpful for exchanging the tokens with fiat currency.
            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

Tabla 7-5 Descripciones de parámetros y ejemplos para un archivo de especificación de token fungible

Entrada Descripción Ejemplos
type:

Debe especificar type: token en la sección assets.

assets:
    - name: OBPTOK # Asset name
      type: token  # Asset type
standard: La propiedad standard representa el estándar de token que se debe seguir durante la generación del código de cadena. Solo se admite el valor ttf+ para tokens fungibles. Si no se especifica la propiedad standard para un token fungible, se sigue el estándar de Token Taxonomy Framework (TTF).

      standard: ttf+ # Token standard
anatomy:
La sección anatomy tiene dos parámetros obligatorios para los tokens fungibles:
  • type: fungible

    Una cantidad de tokens fungibles tiene el mismo valor que otra cantidad igual de la misma clase de tokens.

  • unit: fractional

    Un token fraccional se puede subdividir en unidades más pequeñas en función de un número especificado de posiciones decimales.

anatomy: 
          type: fungible # Token type
          unit: fractional # Token unit
behavior: En esta sección, se describen las capacidades y las restricciones del token. Los comportamientos mintable y transferable son obligatorios para los tokens fungibles.
  • mintable: este comportamiento obligatorio soporta la minería de nuevas instancias de token. El parámetro opcional max_mint_quantity especifica el número total de tokens que se pueden extraer. Si no especifica el parámetro max_mint_quantity, se puede minar cualquier número de tokens.
  • transferable: este comportamiento obligatorio soporta la transferencia de propiedad de tokens.
  • divisible: este comportamiento opcional describe cómo se pueden subdividir los tokens. El parámetro decimal especifica el número de posiciones decimales que se pueden utilizar. La fracción más pequeña posible con el número de posiciones decimales es la unidad más pequeña del token que puede ser propiedad. Si no se especifica el parámetro decimal, el valor por defecto es cero decimales.
  • burnable: este comportamiento opcional soporta la desactivación o la grabación de tokens. Burning no suprime un token, sino que lo coloca en un estado permanente donde no se puede utilizar. La quema no es reversible.
  • holdable: este comportamiento opcional indica si los saldos de token se pueden retener entre un pagador y un beneficiario.
  • roles: este comportamiento opcional restringe los comportamientos de token a los usuarios con roles específicos. Actualmente hay tres roles disponibles: minter_role_name, burner_role_name y notary_role_name. Si no especifica roles, cualquier usuario puede actuar como minter, quemador o notario. Por ejemplo, si no se especifica el rol de quemador, cualquier usuario de cuenta tiene implícitamente el rol de quemador. Si se especifica el rol de quemador, durante el proceso de configuración del token, el usuario Token Admin debe asignar el rol de quemador a otros usuarios explícitamente.
behavior:
  - mintable:
        max_mint_quantity: 20000
  - transferable
  - divisible:
        decimal: 1
  - burnable
  - holdable
  - roles:
        minter_role_name: minter
        burner_role_name: burner
        notary_role_name: notary

Para crear varios ID de token fungible que utilicen diferentes parámetros max_mint_quantity, cree un activo de token independiente para cada ID de token en el archivo de especificación, con una relación 1:1 entre el activo de token y el ID de token.

Para crear varios ID de token fungible que utilicen el mismo parámetro max_mint_quantity o ningún parámetro max_mint_quantity, cree un único activo de token en el archivo de especificación para utilizarlo para todos los ID de token.