Archivo de especificación de entrada para ERC-1155
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 fungibles y no fungibles basados en el estándar ERC-1155 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.
NFTArtCollectionMarketplacewithERC1155-TypeScript.yml
FractionalNFTinRealEstate-TypeScript.yml
Además de las propiedades y secciones estándar, los activos de token soportan las secciones behavior
y anatomy
del archivo de especificación. Además, los activos de token no fungibles soportan la sección metadata
. En el siguiente ejemplo se muestra la estructura de un archivo de especificación para dos activos de token ERC-1155, un token no fungible completo y un token fungible fraccional:
assets:
- name: ArtCollection #Asset name
type: token #Asset type
standard: erc1155+ # Token standard
anatomy:
type: nonfungible # Token type
unit: whole #Token unit
behavior:
- indivisible
- mintable:
max_mint_quantity: 20000
- transferable
- burnable
- lockable
- roles:
minter_role_name: minter
properties: # Custom asset attributes for non-fungible token
- 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
- name: Loyalty # Asset name
type: token # Asset type
standard: erc1155+ # Token standard
anatomy:
type: fungible # Token type
unit: fractional # Token unit
behavior: # Token behaviors
- divisible:
decimal: 2
- mintable:
max_mint_quantity: 10000
- transferable
- burnable
- roles:
minter_role_name: minter
properties:
- name: currency_name # Custom attribute to represent the token in a specific currency.
type: string
- name: token_to_currency_ratio # Custom attribute to specify the token to currency ratio.
type: number
El siguiente ejemplo muestra la estructura de un archivo de especificación para un token no fungible fraccional:
- name: RealEstateProperty #Asset name
type: token #Asset type
standard: erc1155+ # Token standard
anatomy:
type: nonfungible # Token type
unit: fractional #Token unit
behavior:
- divisible:
- mintable:
- transferable
- roles:
minter_role_name: minter
properties: # Custom asset attributes for non-fungible token.
- name: propertySellingPrice # Custom asset attribute to set the real estate property selling price
type: number
- name: propertyRentingPrice # Custom asset attribute maintains the renting amount for the real estate property
type: number
metadata: # To maintain the metadata on-chain, this tag will be used. Users won't be able to update the metadata attribute values.
- name: propertyType
type: string
- name: propertyName
type: string
- name: propertyAddress
type: string
- name: propertyImage
type: string
Tabla 7-7 Descripciones de parámetros y ejemplos para un archivo de especificación de token ERC-1155
Entrada | Descripción | Ejemplos |
---|---|---|
type: |
Debe especificar |
|
standard: |
La propiedad standard es obligatoria para los tokens ERC-1155. Representa el estándar de token que se debe seguir durante la generación del código de cadena.
|
|
anatomy: |
La sección
anatomy tiene dos parámetros obligatorios:
|
|
behavior: |
En esta sección, se describen las capacidades y las restricciones del token. Los comportamientos mintable y transferable son obligatorios para todos los tokens. El comportamiento indivisible es obligatorio para tokens no fungibles completos.
|
|
metadata: |
La propiedad En el ejemplo, |
|
Limitaciones
Blockchain App Builder proporciona soporte parcial para el estándar ERC-1155. Actualmente, los siguientes eventos y métodos ERC-1155 no están soportados.
TransferSingle
TransferBatch
ApprovalForAll
URI
safeTransferFrom
balanceOf
setApprovalForAll
isApprovedForAll