Saltar al contenido principal

Utilidades

El módulo de utilidades permite obtener información de los servicios de Alfa además de proveer funciones de utilidad para el desarrollo de aplicaciones.

Métodos

Crear un asset minable

El método createMintableAsset permite crear un MintableAsset a partir de un archivo File.

const utils = sdk.utils;

const file = new File([], "hello.jpg");

const mintableAsset = utils.createMintableAsset(file);
Datos del asset minable

El método createMintableAsset crea un asset sin datos, debes rellenar la información del asset antes de minarlo. Si deseas crear un asset con datos puedes usar el método mintableAssetFromPrimitive.

Crear un asset minable a partir de un Primitives<Asset>

El método mintableAssetFromPrimitive permite crear un MintableAsset a partir de un Primitives<Asset>.

const utils = sdk.utils;

const file = new File([], "hello.jpg");

const data: 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",
},
]
},
};

const mintableAsset = utils.mintableAssetFromPrimitive(file, data);

Crear un asset minable a partir de un Primitives<ERC1155>

El método mintableERC1155FromPrimitive permite crear un MintableAsset a partir de un Primitives<ERC1155>.

const utils = sdk.utils;

const file = new File([], "hello.jpg");

const data: 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",
},
]
},
};

const mintableAsset = utils.mintableERC1155FromPrimitive(data, file);
File como parámetro opcional

El parámetro file es opcional, si no se pasa el asset se creará sin archivo image.

Depurar una transacción

El método debug permite obtener el estado de una transacción en la blockchain.

const utils = sdk.utils;

const hash = '0x82d735b0afae88084f2e8c7f52d24c11206446dd4193270b377c446bfbaf10a8'

const result = await utils.debug(hash)

Obtener la URL del explorador de bloques

El método getExplorerUri permite obtener la url de un explorador de bloques para un asset.

const utils = sdk.utils;

const explorerUrl = utils.getExplorerUri(asset) // `asset` es de tipo `Asset`

Obtener monedas por símbolo

El método getCoinsBySymbol permite obtener una lista de monedas a partir de su símbolo.

const utils = sdk.utils;

const result = await utils.getCoinsBySymbol(["eth", "matic", "usdc"]);

Obtener metadata de monedas

El método getCoinsMetadata permite obtener las metadata de una lista de monedas.

const utils = sdk.utils;

const start = 1;
const limit = 10;
const search = "usd";

const { total, data } = await utils.getCoinsMetadata(start, limit, search);
Parámetros opcionales

El parámetro search es opcional, si no se pasa se obtendrán todas las monedas.

Actualizar metadata de una moneda

El método updateCoin permite actualizar la información de una moneda.

const utils = sdk.utils;

const coin = new Metadata({
id: "venus-usdc",
name: "Venus USDC",
image: "https://assets.coingecko.com/coins/images/13906/large/usdc.png?1612799563",
description: "",
attributes: [
{
trait_type: "binance-smart-chain",
value: "0xeca88125a5adbe82614ffc12d0db554e2e2867c8",
},
],
symbol: "vusdc",
decimals: "6",
});

const newCoin = await utils.updateCoin(coin);
Moneda

Una moneda es de tipo Metadata. Representa la información de una moneda en la blockchain. Puedes ver la documentación de la clase Metadata aquí.

Crear una nueva moneda

El método newCoin permite crear una nueva moneda.

const utils = sdk.utils;

const coin = {
id: "new-coin",
name: "My Coin",
image: "https://myserver.com/images/mycoin.jpg",
description: "My coin description",
attributes: [],
symbol: "mci",
decimals: "6",
};

const newCoin = await utils.newCoin(coin);

Borrar una moneda

El método deleteCoin permite eliminar una moneda.

const utils = sdk.utils;

const coinId = 'new-coin';

await utils.deleteCoin(coinId);

Leer una variable de contrato

El método readContract permite leer una variable de un contrato.

const utils = sdk.utils;

const method = new ContractFunction("uri", AssetType.ERC1155);

method.addInput("tokenId", 1);

const tokenUri: string = await utils.readContract({
address: "0x7C6ac312c08b975a0e74Be8Cd8C6ad8b8b4A8DEB",
chainId: 80001,
method: method.toPrimitive(),
});

Crear una wallet aleatoria

El método getRandomWallet permite obtener una wallet aleatoria.

const utils = sdk.utils;

const walletDto = await utils.getRandomWallet();
WalletDto

La respuesta del método getRandomWallet es de tipo WalletDto. Que posee esta interfaz:

interface WalletDto {
readonly address: EthereumAddress;
readonly mnemonic: MnemonicValue;
toWallet(): Wallet;
toPrimitive(): Primitives<WalletDto>;
}

address es la nueva dirección de la wallet. mnemonic es la frase mnemotécnica de la wallet.

Obtener información de una cadena

El método getChainInfo permite obtener información de una cadena.

const utils = sdk.utils;

const chainId = new ChainID(80001);

const data = utils.getChainInfo(chainId);
Datos

El resultado devuelto por el metodo getChainInfo es de tipo Chain.

export interface Chain {
name: string;
title?: string;
chain: string;
icon?: string;
rpc: string[];
faucets: any[];
nativeCurrency: NativeCurrency;
infoURL: string;
shortName: string;
chainId: number;
networkId: number;
slip44?: number;
ens?: Ens;
explorers?: Explorer[];
parent?: {
type?: string;
chain?: string;
bridges?: {
url: string;
}[];
};
status?: string;
redFlags?: string[];
}
export interface Ens {
registry: string;
}
export interface Explorer {
name: string;
url: string;
icon?: string;
standard: string;
}
export interface NativeCurrency {
name: string;
symbol: string;
decimals: number;
}