Desarrollo de DApps con Fuel y TypeScript SDK
Clase 14 de 16 • Curso de Programación de Contratos Inteligentes con Sway
Resumen
¿Cómo convertirse en un desarrollador DApp completo en Fuel?
Transformarse en un desarrollador DApp completo implica una comprensión holística de ambas partes de la aplicación: el back-end y el front-end. En este artículo, vamos a sumergirnos en cómo, utilizando el SDK de Fuel TypeScript, puedes crear interfaces de usuario para interactuar con contratos inteligentes utilizando React.
¿Qué es el SDK de TypeScript de Fuel?
El SDK de TypeScript de Fuel es un conjunto de herramientas que permiten la creación de aplicaciones descentralizadas (DApps) en la red Fuel. Con él, puedes:
- Ejecutar scripts
- Interactuar con contratos inteligentes
- Listar transacciones y balances
Este SDK es especialmente útil para los desarrolladores que desean integrar interfaces de usuario con contratos inteligentes, desencadenando acciones desde un navegador. Dos métodos esenciales del SDK son .get
y .call
, cruciales para interactuar con funciones de solo lectura o de escritura, respectivamente.
¿Cómo iniciarse con la interfaz de usuario de React?
Para comenzar, vamos a construir una sencilla interfaz de usuario para un contrato contador, que incrementa y muestra el valor de un contador. Usaremos los métodos del SDK de TypeScript para manipular el contrato desde el front-end.
-
Inicialización del proyecto React:
- Antes de empezar a codificar, asegurémonos de estar en el directorio adecuado. Utilizando el comando
npx create-react-app frontend-template --template typescript
, generaremos una nueva carpeta llamadafrontend
que contendrá una aplicación React.
- Antes de empezar a codificar, asegurémonos de estar en el directorio adecuado. Utilizando el comando
-
Instalar dependencias del SDK de Fuel:
- Navega a la carpeta
frontend
y ejecuta las instalaciones de las dependencias necesarias con los siguientes comandos:npm install @fuels/sdk
- Navega a la carpeta
-
Crear y configurar cartera "burner":
- Crea un archivo
createWallet.js
en la carpetafrontend
y genera una cartera "quemada" solo para pruebas, permitiéndote interactuar sin firmar cada transacción.
const { Wallet } = require('@fuels/sdk'); const wallet = Wallet.generate(); console.log('Address:', wallet.address); console.log('Private Key:', wallet.privateKey);
- Crea un archivo
¿Cómo interactuar con un contrato inteligente?
Después de generar una interfaz básica, es hora de conectar nuestra aplicación React con el contrato inteligente utilizando las funciones importadas desde el SDK. Aquí te mostramos cómo:
-
Modificar
app.tsx
para integrar el contrato:- Importa las herramientas necesarias e integra la dirección del contrato y la clave privada generada.
import React, { useState, useEffect } from 'react'; import { Wallet, ContractFactory } from '@fuels/sdk'; const contractAddress = 'tus_datos_contract_address'; const privateKey = 'tu_clave_privada'; const App: React.FC = () => { const [counter, setCounter] = useState<number>(0); const [loading, setLoading] = useState<boolean>(false); useEffect(() => { const loadCounter = async () => { const wallet = new Wallet(privateKey); const contract = new ContractFactory(contractAddress, wallet); const currentCounter = await contract.functions.count().get(); setCounter(currentCounter); }; loadCounter(); }, []); return ( <div> <button onClick={() => { /* lógica para incrementar el contador */ }}> Incrementar </button> <p>Valor del contador: {counter}</p> </div> ); }; export default App;
-
Implementar acciones del usuario:
- Configura un botón en React que llamará a la función
increment
del contrato, utilizando el método.call
para modificar el estado del contrato.
- Configura un botón en React que llamará a la función
¿Qué se obtiene al final del curso?
Al finalizar este curso, habrás adquirido el conocimiento práctico para crear una aplicación DApp completa en Fuel. Esto implica la creación tanto del back-end (contrato inteligente) como del front-end (aplicación React), permitiendo interacciones completas desde un navegador.
Desarrollar tus habilidades como programador fuel proporciona el poder de dar vida a tus contratos inteligentes con atractivas interfaces de usuario, amplificando tus posibilidades en el apasionante mundo de las aplicaciones descentralizadas. ¡Continúa adelante y sigue explorando las enormes oportunidades que ofrece el desarrollo DApp!