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
Propiedad | Tipo | Descripción |
---|---|---|
assetId | ID | Identificador único del asset. |
address | EthereumAddress | Dirección de contrato del asset. |
amount | Amount | Cantidad del asset. |
chainId | ChainId | Identificador de la blockchain en la que se encuentra el asset. |
metadata | Metadata | Metadatos del asset. |
Métodos
Método | Retorno | Descripción |
---|---|---|
setAssetId(assetId: ID) | void | Establece el identificador del asset. |
setAmount(amount: Amount) | void | Establece la cantidad del asset. |
getTransactionHash() | TransactionHash | Obtiene el hash de la transacción que creó el asset. |
setTransactionHash(transactionHash: TransactionHash) | void | Establece el hash de la transacción que creó el asset. |
getOwner() | Owner | Obtiene la dirección del propietario del asset. |
setOwner(owner: Owner) | void | Establece la dirección del propietario del asset. |
equals(other: Asset) | boolean | Compara si el asset es igual a otro asset. |
toPrimitive() | Primitives<Asset> | Obtiene la representación primitiva del asset. |
isSameAddressAccount(address: EthereumAddress) | boolean | Compara si la dirección de la cuenta es la misma que la dirección del asset. |
isOwned() | boolean | Compara si el asset tiene propietario. |
isOwnedBy(other: Owner) | boolean | Compara si el asset tiene como propietario la dirección de la cuenta. |
formatAmount(fixed:number) | Amount | Formatea la cantidad del asset. |
isNFT() | boolean | Compara si el asset es un NFT. |
isERC20() | boolean | Compara si el asset es un ERC20. |
isERC1155() | boolean | Compara si el asset es un ERC1155. |
decimals() | Decimal | Obtiene 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 valor | Descripción |
---|---|
Owner | Representa la dirección de una cuenta y el propietario de un asset. Extiende de EthereumAddress |