No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Integración de contratos inteligentes con Frontend usando NEAR API JS

4/7
Recursos

¿Cómo consumir contratos inteligentes con Near API JS?

En el mundo del desarrollo blockchain, consumir contratos inteligentes es un paso crucial para crear aplicaciones descentralizadas (DApps). Este proceso requiere un profundo entendimiento de cómo interactuar con la tecnología blockchain mediante herramientas específicas. En este artículo, exploraremos cómo utilizar la Near API JS para conectarte e interactuar con contratos inteligentes a través del frontend, mejorando así tus habilidades en la creación de DApps con Near Protocol.

¿Cuáles son las diferencias entre NearCall y NearView?

Cuando trabajas con la blockchain de Near, puedes interactuar con contratos inteligentes mediante dos métodos principales: NearCall y NearView. La diferencia clave entre estos métodos se centra en si estás escribiendo o simplemente leyendo datos de la blockchain.

  • NearCall: Este método se utiliza cuando necesitas escribir cambios en la blockchain, por ejemplo, actualizar el estado de un contrato inteligente. Al hacerlo, generas una transacción que se puede verificar en el explorador de Near.

  • NearView: Este método solo permite leer datos de la blockchain sin modificar su estado. Las acciones realizadas con NearView no se registran como transacciones en la blockchain.

¿Cómo se estructuran las llamadas a la API de Near?

El primer paso para interactuar con la blockchain de Near es comprender cómo estructurar tus llamadas a través de Near API JS. Esto implica utilizar objetos cruciales como WalletConnection, KeyStore, y Config para establecer conexiones correctas y seguras.

// Ejemplo básico de inicialización en JavaScript
const near = await nearApi.connect({
    networkId: "testnet",
    keyStore: new nearApi.keyStores.BrowserLocalStorageKeyStore(),
    nodeUrl: "https://rpc.testnet.near.org",
    walletUrl: "https://wallet.testnet.near.org",
    helperUrl: "https://helper.testnet.near.org",
});

En este ejemplo, walletConnection se utiliza para manejar la autenticación del usuario, mientras que KeyStore administra la información de claves de acceso necesaria para interacciones seguras.

¿Cómo se integran contratos inteligentes en un frontend con Near API JS?

El siguiente paso fundamental después de configurar tu entorno es integrar los contratos inteligentes en tu aplicación de frontend. Esta integración se puede llevar a cabo utilizando los métodos de la Near API JS para conectarse y consumir los servicios del contrato inteligente.

// Ejemplo de cómo llamar métodos de un contrato
async function callContractMethod(contractName, methodName, args) {
    const contract = new nearApi.Contract(walletConnection.account(), contractName, {
        viewMethods: ['getData'],
        changeMethods: ['setData'],
    });

    const result = await contract[methodName]({
        args: args,
    });
    return result;
}

En este ejemplo específico, viewMethods se define para llamadas de solo lectura, mientras que changeMethods se utiliza para métodos que alteran el estado del contrato.

¿Cómo se gestionan las claves en entornos de desarrollo?

Al trabajar con aplicaciones descentralizadas, es crucial manejar adecuadamente las claves de acceso. En Near, las claves se almacenan tanto a nivel local en tu sistema como en el almacenamiento local del navegador.

  • Local KeyStore: En las aplicaciones de línea de comandos (CLI), como near-cli, las claves privadas se guardan en un directorio oculto en tu sistema (por ejemplo, .near-credentials), permitiéndote realizar operaciones más complejas como despliegues y actualizaciones.

  • Browser Local Storage: Para aplicaciones frontend, se utilizan claves de acceso limitadas almacenadas en el espacio del navegador, lo que permite una autenticación segura en las DApps.

¿Cómo funcionan los indexadores y el almacenamiento descentralizado?

Para aplicaciones más complejas, donde el acceso a datos rápido y eficiente es clave, los indexadores y sistemas de almacenamiento descentralizado como IPFS juegan un papel crucial:

  • Indexadores: Permiten almacenar en caché y consultar datos de forma escalable y rápida. Implementaciones como The Graph permiten indexar transacciones en diversas blockchains, incluyendo Near.

  • IPFS: Utilizado para almacenar grandes volúmenes de datos como imágenes o videos, IPFS proporciona un enfoque descentralizado para gestionar activos digitales junto con la blockchain.

Entender estas tecnologías te permitirá diseñar aplicaciones robustas y escalables, capaces de interactuar eficientemente con contratos inteligentes. Al final del día, el dominio de estas herramientas te capacita para crear aplicaciones descentralizadas que son tanto seguras como eficientes. ¡Continúa explorando y aprovechando el poderoso mundo del desarrollo blockchain!

Aportes 1

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Gracias por este curso !!