Construye en Flow: Aprende FCL - 7. Como consultar una cuenta en Flow por su dirección
Bruno Gonzales
Posted on June 13, 2022
Resumen
En el post anterior, cubrimos como colectar información acerca de bloques en la cadena. Hoy cubriremos como puedes consultar información acerca de una cuenta especifica usando la función account
.
Los dos casos de uso mas comunes, y que tu aprenderás hoy serán:
- obtener el balance actual de una cuenta en FLOW.
- traer una lista de contractos desplegados en la cuenta.
Paso 1 - Instalación
Añade "@onflow/fcl": "1.0.0"
como tu dependencia.
Paso 2 - Configuración
Justo como la última last vez, importaremos los métodos necesarios y configuraremos FCL:
// Importa los métodos de FCL
import { account, query, config } from "@onflow/fcl";
// Especifica el endpoint de la API - esta vez usaremos Mainnet
const api = "https://rest-mainnet.onflow.org";
// Configura FCL para usar mainnet como el nodo de acceso
config().put("accessNode.api", api);
Paso 3 - Copiar el resolvedor
Siempre es bueno aplicar conocimiento previo y practicar. Traigamos de vuelta la función resolvedora de la lección 4 para usarla en nuestro ejemplo:
const resolveName = async (name) => {
const cadence = `
import FIND from 0x097bafa4e0b48eef
pub fun main(name: String): Address?{
return FIND.lookupAddress(name)
}
`;
const args = (arg, t) => [arg(name, t.String)];
return await query({ cadence, args });
};
Paso 4 - Encontrando la cuenta
Tratemos de resolver la identidad flovatar
y exploremos que tiene para nosotros😊
Usaremos nuestro bloque invocado inmediatamente como siempre:
// Usaremos IIFE para ejecutar nuestro codigo inmediatamente
(async () => {
console.clear();
const address = await resolveName("flovatar")
// es posible que name sea resuelto a "null"
// agreguemos algo de protección basica en esta parte
if (address){
const accountInfo = await account(address);
console.log({ accountInfo });
}
})();
Después de que el polvo se asiente, deberías ver el código en la consola:
{
address: "921ea449dffec68a",
balance: 13052726819120,
code: "",
contracts: Object,
keys: Array(2),
}
Esos 5 valores son respectivamente::
-
address
- dirección de una cuenta (nota el prefijo0x
faltante si deseas usarlo en el futuro) -
balance
- cantidad de tokens FLOW en formato UFix64. Divide porMath.pow(10,8)
para obtener un valor float. -
code
- este es un valor deprecado, previamente fue usado para almacenar código del contrato desplegado a la cuenta. Antes solo era posible almacenar un solo contrato por cuenta. -
contracts
- objeto representando contratos desplegados. Las llaves son los nombres de los contratos y los valores son código en Cadence del respectivo contrato. -
keys
- lista de llaves asociadas a una cuenta.
Puedes encontrar mas información acerca de ellos en la documentación de Flow - https://docs.onflow.org/fcl/reference/api/#blockobject
Otras maneras de explorar una cuenta
Hay formas de explorar una cuenta específica:
- Flow View Source - https://flow-view-source.com/mainnet/account/0x5916e847260714b6 - es un proyecto de la comunidad hecho por el creador original de FCL - James Hunter - https://github.com/orodio
- Flowscan - https://flowscan.org/account/0x5916e847260714b6 - la página de Flowscan te mostrará mas información acerca de transacciones y transferencias gracias a que procesa los bloques detrás de escenas para acumular esa información.
Hasta la próxima 👋
Recursos
- Código del ejemplo - https://codesandbox.io/s/dev-to-fcl-07-get-account-j9rxkm?file=/src/index.js
Otros recursos que podrías encontrar útil:
- Documentación de Flow - https://docs.onflow.org/ - más información de tallada acerca de Flow blockchain y como interactuar con ella.
- Flow Portal - https://flow.com/ - tu punto de entrada a Flow.
- FCL JS - https://github.com/onflow/fcl-js - Código fuente y la habilidad de contribuir a la librería FCL JS.
- Cadence - https://docs.onflow.org/cadence/ - Introducción a Cadence
- Codesandbox - https://codesandbox.io - Un asombroso IDE en el navegador para prototipar.
Esta es una traducción al español del séptimo artículo de la serie Build on Flow | Learn FCL escrito por Maksimus Starka.
Posted on June 13, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
June 13, 2022