ERC-721の入力仕様ファイル
ブロックチェーン・アプリケーション・ビルダー初期化コマンドは、入力仕様ファイルを読み取り、チェーンコード開発プロセスを支援する複数のツールを使用してスキャフォールディング済プロジェクトを生成します。
- 同じ仕様ファイルの複数の標準に基づいてトークン・アセットを定義することはできません。
- 1つの仕様ファイルに複数の非固定トークン・アセットを定義することはできません。
トークン所有者は、適用できないトークン・アセットのカスタム属性値を更新できます。
仕様ファイルに標準アセットを含める方法の詳細は、「入力仕様ファイル」を参照してください。
NFTArtCollectionMarketPlace with ERC-721-Typescript.yml
標準プロパティおよびセクションに加えて、非真菌トークン・アセットは、仕様ファイルのbehavior
、anatomy
およびmetadata
セクションをサポートします。真偽のないトークン・アセットは、standard
およびsymbol
プロパティもサポートしています。次の例は、ERC-721トークン・アセットの仕様ファイルの構造を示しています。
assets:
- name: ArtCollection #Asset name
type: token #Asset type
symbol: ART # Token symbol
standard: erc721+ # Token standard
anatomy:
type: nonfungible # Token type
unit: whole #Token unit
behavior:
- indivisible
- singleton
- mintable:
max_mint_quantity: 20000
- transferable
- burnable
- lockable
- roles:
minter_role_name: minter
properties: # Custom asset attributes for non-fungible tokens
- name: price # Custom asset attribute to set the price of a non-fungible token in the marketplace
type: number
- name: on_sale_flag # Custom asset attribute maintains non-fungible token selling status in the marketplace
type: boolean
metadata: # Use this section to maintain the metadata on the blockchain. Only the user creating the non-fungible token can assign metadata attribute values, which cannot be updated later.
- name: painting_name
type: string
- name: description
type: string
- name: image
type: string
- name: painter_name
type: string
表7-6 ERC-721トークン仕様ファイルのパラメータの説明と例
開始時 | 説明 | 例 |
---|---|---|
type: |
|
|
symbol: |
symbol プロパティは、トークン契約を識別する記号(ART など)を表します。通常、記号の長さは3から4文字です。
|
|
standard: |
standard プロパティは、fungible以外のトークンに必須です。これは、チェーンコード生成時に従うトークン標準を表します。ブロックチェーン・アプリケーション・ビルダーでは、適用されないトークンはERC-721標準の一部のバージョンに従います。詳細は、制限を参照してください。
|
|
anatomy: |
anatomy セクションには、非fungibleトークンの2つの必須パラメータがあります。
|
|
behavior: |
この項では、トークンの機能および制限について説明します。mintable 、transferable 、singleton 、および indivisible の動作は、fungible以外のトークンでは必須です。
|
|
metadata: |
この例では、 |
|
制限事項
ブロックチェーン・アプリケーション・ビルダーは、ERC-721標準を部分的にサポートします。現在、次のERC-721イベントおよびメソッドはサポートされていません。
event Transfer
event Approval
event ApprovalForAll
approve
getApproved
setApprovalForAll
isApprovedForAll