File specifica input per struttura tassonomia token

Il comando di inizializzazione di Blockchain App Builder legge il file delle specifiche di input e genera il progetto impalcato con diversi strumenti per assistere nel processo di sviluppo del codice concatenato.

È possibile definire asset standard e asset token basati sul token Taxonomy Framework nello stesso file di specifica. Impossibile definire asset token basati su più standard nello stesso file di specifica.

Per informazioni sull'inclusione degli asset standard nel file di specifica, vedere File di specifica di input.

Nel package Blockchain App Builder sono disponibili i seguenti file di specifica di esempio per gli asset token fungibili:
  • FiatMoneyToken.yml
  • LoyaltyToken-Go.yml

Oltre alle proprietà e alle sezioni standard, gli asset token fungibili supportano le sezioni behavior e anatomy nel file di specifica. Gli asset token fungibili supportano anche la proprietà standard. L'esempio riportato di seguito mostra la struttura di un file di specifica per un asset token fungibile basato sul framework tassonomia 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

Tabella 4-1 Descrizioni ed esempi dei parametri per un file di specifica dei token fungibili

Voce Descrizione Esempi
type:

È necessario specificare type: token nella sezione assets.

assets:
    - name: OBPTOK # Asset name
      type: token  # Asset type
standard: La proprietà standard rappresenta lo standard del token da seguire durante la generazione del codice concatenato. Per i token fungibili è supportato solo il valore ttf+. Se la proprietà standard non è specificata per un token fungibile, viene seguito lo standard TTF (Token Taxonomy Framework).

      standard: ttf+ # Token standard
anatomy:
La sezione anatomy ha due parametri obbligatori per i token fungibili:
  • type: fungible

    Una quantità di token fungibili ha lo stesso valore di un'altra quantità uguale della stessa classe di token.

  • unit: fractional

    Un token frazionario può essere suddiviso in unità più piccole in base a un numero specificato di posizioni decimali.

anatomy: 
          type: fungible # Token type
          unit: fractional # Token unit
behavior: Questa sezione descrive le funzionalità e le limitazioni del token. I comportamenti mintable e transferable sono obbligatori per i token fungibili.
  • mintable: questo comportamento obbligatorio supporta la generazione di nuove istanze di token. Il parametro facoltativo max_mint_quantity specifica il numero totale di token che è possibile coniare. Se non si specifica il parametro max_mint_quantity, è possibile coniare un numero qualsiasi di token.
  • transferable: questo comportamento obbligatorio supporta il trasferimento della proprietà dei token.
  • divisible: questo comportamento facoltativo descrive le modalità di suddivisione dei token. Il parametro decimal specifica il numero di posizioni decimali che è possibile utilizzare. La frazione più piccola possibile con il numero di posizioni decimali è l'unità più piccola del token che può essere posseduta. Se il parametro decimal non viene specificato, il valore predefinito è zero posizioni decimali.
  • burnable: questo comportamento facoltativo supporta la disattivazione o la masterizzazione dei token. La masterizzazione non elimina un token ma lo colloca in uno stato permanente in cui non può essere utilizzato. Bruciare non è reversibile.
  • holdable: questo comportamento facoltativo indica se i saldi dei token possono essere bloccati tra un responsabile pagamento e un beneficiario.
  • roles: questo comportamento facoltativo limita i comportamenti dei token agli utenti con ruoli specifici. Attualmente sono disponibili tre ruoli: minter_role_name, burner_role_name e notary_role_name. Se non si specificano ruoli, qualsiasi utente può fungere da minatore, masterizzatore o notaio. Ad esempio, se il ruolo di masterizzatore non viene specificato, qualsiasi utente di account dispone implicitamente del ruolo di masterizzatore. Se si specifica il ruolo di masterizzatore, durante il processo di impostazione del token l'utente Token Admin deve assegnare il ruolo di masterizzatore ad altri utenti in modo esplicito.
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

Per creare più ID token fungibili che utilizzano parametri max_mint_quantity diversi, creare un asset token separato per ciascun ID token nel file di specifica, con una relazione 1:1 tra l'asset token e l'ID token.

Per creare più ID token fungibili che utilizzano lo stesso parametro max_mint_quantity o nessun parametro max_mint_quantity, creare un singolo asset token nel file di specifica da utilizzare per tutti gli ID token.