トークン・タクソノミ・フレームワークの入力仕様ファイル

ブロックチェーン・アプリケーション・ビルダーの初期化コマンドは、入力仕様ファイルを読み取り、チェーンコード開発プロセスを支援する複数のツールを使用してスキャフォールド済プロジェクトを生成します。

トークン・タクソノミ・フレームワークに基づく標準アセットおよびトークン・アセットは、同じ仕様ファイルに定義できます。同じ仕様ファイルの複数の標準に基づいてトークン・アセットを定義することはできません。

標準アセットを仕様ファイルに含める方法の詳細は、「入力仕様ファイル」を参照してください。

ブロックチェーン・アプリケーション・ビルダー・パッケージでは、真菌可能トークン・アセット用の次のサンプル仕様ファイルを使用できます。
  • FiatMoneyToken.yml
  • LoyaltyToken-Go.yml

標準プロパティおよびセクションに加えて、真菌可能トークン・アセットは仕様ファイルのbehaviorおよびanatomyセクションをサポートします。Fungibleトークン・アセットでは、standardプロパティもサポートされます。次の例は、トークン・タクソノミ・フレームワークに基づく、真菌可能トークン・アセットの仕様ファイルの構造を示しています。

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

表7-5 Fungibleトークン指定ファイルのパラメータの説明と例

開始時 説明
type:

assetsセクションでtype: tokenを指定する必要があります。

assets:
    - name: OBPTOK # Asset name
      type: token  # Asset type
standard: standardプロパティは、チェーンコード生成時に従うトークン標準を表します。ttf+値のみが、真菌性トークンに対してサポートされます。standardプロパティが真菌可能トークンに指定されていない場合は、トークン・タクソノミ・フレームワーク(TTF)標準に従います。

      standard: ttf+ # Token standard
anatomy:
anatomyセクションには、真菌性トークンの2つの必須パラメータがあります。
  • type: fungible

    真菌性トークンの数量は、同じクラスの別の等しい数量と同じ値を持ちます。

  • unit: fractional

    小数点トークンは、指定した小数点以下の桁数に基づいて小さい単位に細分化できます。

anatomy: 
          type: fungible # Token type
          unit: fractional # Token unit
behavior: この項では、トークンの機能および制限について説明します。mintableおよびtransferableの動作は、真菌性トークンに必須です。
  • mintable: この必須動作では、新しいトークン・インスタンスの作成がサポートされます。オプションのmax_mint_quantityパラメータは、ミント可能なトークンの合計数を指定します。max_mint_quantityパラメータを指定しない場合、任意の数のトークンをミントできます。
  • transferable: この必須動作では、トークンの所有権の転送がサポートされます。
  • divisible: このオプション動作では、トークンを分割する方法を説明します。decimalパラメータは、使用できる小数点以下の桁数を指定します。小数点以下の数で可能な最小の割合は、所有できるトークンの最小の単位です。decimalパラメータを指定しない場合、デフォルトは小数点以下0桁です。
  • burnable: このオプション動作では、トークンの非アクティブ化または書込みがサポートされます。書き込みは、トークンを削除するのではなく、使用できない永続的な状態にします。燃焼は可逆的ではない。
  • holdable: このオプションの動作は、支払者と受取人の間でトークン残高を保留できるかどうかを示します。
  • roles: このオプション動作は、トークン動作を特定のロールを持つユーザーに制限します。現在、minter_role_nameburner_role_nameおよびnotary_role_nameの3つのロールが使用可能です。ロールを指定しない場合、任意のユーザーがマイナー、バーナーまたは公証人として機能できます。たとえば、バーナー役割が指定されていない場合、すべてのアカウントユーザーが暗黙的にバーナー役割を持ちます。バーナー・ロールが指定されている場合、トークン設定プロセス中に、Token Adminユーザーはバーナー・ロールを他のユーザーに明示的に割り当てる必要があります。
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

異なるmax_mint_quantityパラメータを使用する複数の真菌可能トークンIDを作成するには、仕様ファイルのトークンIDごとに個別のトークン・アセットを作成し、トークン・アセットとトークンIDの間に1:1の関係を作成します。

同じmax_mint_quantityパラメータを使用するか、max_mint_quantityパラメータを使用しない複数の真菌可能トークンIDを作成するには、すべてのトークンIDに使用する単一のトークン・アセットを仕様ファイルに作成します。