File di specifica di input per il framework tassonomia token

Il comando di inizializzazione Blockchain App Builder legge il file di specifica 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 su Token Taxonomy Framework nello stesso file di specifica. Impossibile definire asset token in base a 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 file di specifica di esempio riportati di seguito per gli asset token fungibili.
  • FiatMoneyToken.yml
  • LoyaltyToken-Go.yml

Oltre alle proprietà e alle sezioni standard, gli asset di 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 su Token Taxonomy Framework.

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 7-5 Descrizioni ed esempi dei parametri per un file di specifica token fungibile

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 di token da seguire durante la generazione del codice concatenato. Per i token fungibili è supportato solo il valore ttf+. Se la proprietà standard non viene specificata per un token fungibile, viene seguito lo standard TTF (Token Taxonomy Framework).

      standard: ttf+ # Token standard
anatomy:
La sezione anatomy contiene 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 capacità e le limitazioni del token. I comportamenti mintable e transferable sono obbligatori per i token fungibili.
  • mintable: questo comportamento obbligatorio supporta il conio di nuove istanze di token. Il parametro facoltativo max_mint_quantity specifica il numero totale di token che possono essere coniati. Se non si specifica il parametro max_mint_quantity, è possibile creare un numero qualsiasi di token.
  • transferable: questo comportamento obbligatorio supporta il trasferimento della proprietà dei token.
  • divisible: questo comportamento facoltativo descrive come suddividere i 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 funzione di masterizzazione non elimina un token, ma lo posiziona in uno stato permanente in cui non è possibile utilizzarlo. Bruciare non è reversibile.
  • holdable: questo comportamento facoltativo indica se i saldi 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 i ruoli, qualsiasi utente può agire come un minter, un masterizzatore o un notaio. Ad esempio, se il ruolo bruciatore non viene specificato, qualsiasi utente account ha implicitamente il ruolo bruciatore. Se viene specificato il ruolo burner, durante il processo di impostazione del token l'utente Token Admin deve assegnare il ruolo burner in modo esplicito ad altri utenti.
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 ogni ID token nel file di specifica, con una relazione 1:1 tra asset token e 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.