Saltar al contenido principal

Asset

Un asset es un objeto que representa un recurso en la blockchain. Los assets pueden ser usados para representar tokens, nfts, etc.

Abstract Asset

La clase Asset es una clase abstracta que no puede ser instanciada directamente. Para crear un asset se debe usar una de las clases que extienden de Asset.

Asset Type

El tipo de asset se define en la propiedad type del objeto primitivo del asset. Los tipos de assets disponibles son:

  • AssetType.NFT
  • AssetType.ERC20
  • AssetType.ERC1155

Propiedades

PropiedadTipoDescripción
assetIdIDIdentificador único del asset.
addressEthereumAddressDirección de contrato del asset.
amountAmountCantidad del asset.
chainIdChainIdIdentificador de la blockchain en la que se encuentra el asset.
metadataMetadataMetadatos del asset.

Métodos

MétodoRetornoDescripción
setAssetId(assetId: ID)voidEstablece el identificador del asset.
setAmount(amount: Amount)voidEstablece la cantidad del asset.
getTransactionHash()TransactionHashObtiene el hash de la transacción que creó el asset.
setTransactionHash(transactionHash: TransactionHash) voidEstablece el hash de la transacción que creó el asset.
getOwner()OwnerObtiene la dirección del propietario del asset.
setOwner(owner: Owner)voidEstablece la dirección del propietario del asset.
equals(other: Asset)booleanCompara si el asset es igual a otro asset.
toPrimitive()Primitives<Asset>Obtiene la representación primitiva del asset.
isSameAddressAccount(address: EthereumAddress)booleanCompara si la dirección de la cuenta es la misma que la dirección del asset.
isOwned()booleanCompara si el asset tiene propietario.
isOwnedBy(other: Owner)booleanCompara si el asset tiene como propietario la dirección de la cuenta.
formatAmount(fixed:number)AmountFormatea la cantidad del asset.
isNFT()booleanCompara si el asset es un NFT.
isERC20()booleanCompara si el asset es un ERC20.
isERC1155()booleanCompara si el asset es un ERC1155.
decimals()DecimalObtiene el número de decimales del asset.

Clases relacionadas

La clase NFT, Token y TokenNft extienden de la clase Asset. Y representan los diferentes tipos de assets que se pueden crear.

Assets minables

Los assets minables se muestran en el diagrama. Incluyen un método prepare que permite preparar el asset para ser minado.

Fábrica de assets

La clase AssetsFactory permite crear assets. Los creará dependiendo del tipo de asset que se envíe.

import { AssetsFactory, Asset, Primitives } from '@alfabc/sdk';

const primtiveAsset: Primitives<Asset> = {
type: AssetType.NFT,
address: '0x7C6ac312c08b975a0e74Be8Cd8C6ad8b8b4A8DEB', // Direccion de contrato
chainId: 80001,
metadata: {
name: 'My NFT',
description: 'Description of my nft',
attributes: [
{
trait_type: 'Color',
value: 'green'
},
{
trait_type: 'Year',
value: '1952'
}
], // Un arreglo con los attributos del asset
}
}

const asset = AssetsFactory.from(primitiveAsset); // Crea un asset NFT

Objetos de valor relacionados

Objeto de valorDescripción
OwnerRepresenta la dirección de una cuenta y el propietario de un asset. Extiende de EthereumAddress