Construir el frontend de la dApp
Last updated
Last updated
Para construir interfaces web, necesitar谩s el arch3.js npm package para conectar tu p谩gina web a la Red Archway.
Necesitaremos que nuestra dapp se conecte a los monederos de los usuarios con una extensi贸n de navegador como Keplr.
Tras instalar la extensi贸n, observar谩 que Keplr se expone a las p谩ginas web como una propiedad del objeto ventana de JavaScript.
Keplr tambi茅n necesita metadatos espec铆ficos sobre la cadena a la que se est谩 conectando. A continuaci贸n se indican los par谩metros necesarios para establecer una conexi贸n con la red de prueba Constantine de Archway.
Ahora podemos utilizar ChainInfo para configurar Keplr para Constantine testnet.
Informaci贸n
Una cosa a tener en cuenta es que, por defecto, Keplr anula las tarifas establecidas por el frontend. Para evitar que Keplr anule estas tarifas, establezca el valor de la opci贸n interactiva preferNoSetFee en true, como se muestra en el ejemplo anterior. Puede encontrar m谩s informaci贸n sobre estas opciones de anulaci贸n aqu铆.
En el paso anterior guardamos una referencia a CosmWasmClient.queryContractSmart. La utilizaremos para consultar nuestro punto de entrada QueryMsg::GetCount del contrato Increment.
Al igual que cuando consultamos desde CLI, necesitamos convertir los argumentos de entrada a min煤sculas y may煤sculas. En JavaScript los argumentos se convierten en {get_count: {}}.
Para emitir transacciones llamamos a la funci贸n execute usando nuestra referencia anterior CosmWasmClient. Llamamos a esta funci贸n con los siguientes par谩metros:
userAddress - la direcci贸n que emite la transacci贸n
ContractAddress - la direcci贸n del contrato con el que el usuario est谩 realizando una transacci贸n.
entrypoint - argumentos a ejecutar que coinciden con un punto de entrada en el contrato
Fee - con arch3.js las tasas de transacci贸n se pueden calcular autom谩ticamente usando "auto".
Convertimos las may煤sculas y min煤sculas de los argumentos del punto de entrada y las volvemos a repetir, de modo que ExecuteMsg::Increment {} de nuestro contrato Rust se convierte en {increment: {}} en nuestro JavaScript.
En el repositorio de ejemplos de dapp encontrar谩s ejemplos de dapp frontends para la plantilla de c贸digo Increment starter.
Despu茅s de completar esta gu铆a, integre SubQuery para una recuperaci贸n de datos eficiente y una funcionalidad mejorada. Este indexador de blockchain va m谩s all谩 de los datos hist贸ricos, permitiendo consultas r谩pidas, soportando contratos inteligentes y proporcionando datos en tiempo real para aplicaciones. Mejore las experiencias de usuario y libere todo el potencial de su dapp en diversos casos de uso aprovechando estos potentes indexadores.