Guía práctica para usar @solana/kit en React con Wallet Standard. En la comunidad hay abundantes recursos sobre @solana/web3.js, pero faltan guías completas enfocadas en @solana/kit. Aquí encontrarás un recorrido claro, de cero a envío de transacciones, listo para producción.
Requisitos previos: familiaridad con el ecosistema Solana y React. Si acabas de llegar a SolanaKit, revisa primero la documentación oficial.
Puedes consultar un ejemplo completo de aplicación React en el repositorio público del autor en GitHub: código aquí.
Resumen de lo que construiremos: 1 Conexión a monederos Solana mediante Wallet Standard. 2 Gestión del estado del wallet con React Context. 3 Firma y envío de transacciones con @solana/kit.
Configuración inicial: instala las dependencias en tu proyecto React con el comando npm install @solana/kit @wallet-standard/react @solana/react. Asegúrate de usar Node y React actualizados para evitar incompatibilidades con los hooks de Wallet Standard.
Paso 1 Contexto de wallet: crea un React Context para compartir el estado de la sesión del monedero en toda la app. Modela un objeto ConnectedWallet que contenga la cuenta UiWalletAccount y el monedero UiWallet. Expone en el Provider propiedades como account, wallet, connectedWallet, isConnected y el setter setConnectedWallet. De esta forma cualquier componente puede conocer si existe una sesión activa y acceder a la cuenta conectada.
Paso 2 Botón y modal de conexión: implementa un botón Connect Wallet que abre un modal con los monederos disponibles. Usa el hook useWallets para obtener la lista y filtra aquellos que soporten la cadena que empieza por solana:. Oculta el botón si isConnected es verdadero para evitar reconexiones innecesarias y mejora la UX.
Paso 3 Implementación del modal: para cada wallet listado, utiliza los hooks useConnect y useDisconnect de @wallet-standard/react. Cuando el usuario se conecta, espera a que el proveedor devuelva las cuentas disponibles, selecciona la primera y actualiza el contexto con setConnectedWallet. Si no se devuelven cuentas, muestra una advertencia y evita actualizar el estado. Tras conectar, cierra el modal para completar el flujo.
Paso 4 Elementos individuales de wallet: cada ítem debe gestionar su propio estado de conexión. Muestra un indicador isConnecting mientras se solicita la conexión y deshabilita el botón para prevenir clicks repetidos. En desconexión, limpia el contexto con setConnectedWallet null. Por simplicidad, usa la primera cuenta retornada por el proveedor, aunque en escenarios avanzados puedes permitir que el usuario elija entre varias cuentas.
Paso 5 Firma y envío de transacciones con @solana/kit: la integración clave es la firma delegada desde el monedero. Con el hook useWalletAccountTransactionSendingSigner de @solana/react obtienes un signer asociado a la cuenta conectada y a la cadena solana:devnet o la que necesites. El flujo recomendado es: 1 Obtener el último bloque con createSolanaRpc y getLatestBlockhash. 2 Crear un mensaje de transacción con createTransactionMessage. 3 Encadenar transformaciones con pipe para definir el fee payer con setTransactionMessageFeePayerSigner, configurar la validez con setTransactionMessageLifetimeUsingBlockhash y añadir instrucciones con appendTransactionMessageInstruction. 4 Para un ejemplo mínimo, agrega un memo con getAddMemoInstruction del paquete @solana-program/memo. 5 Firmar y enviar con signAndSendTransactionMessageWithSigners, y decodificar la firma a base58 con getBase58Decoder para poder consultar el resultado en el explorador de Solana. Este patrón facilita añadir más instrucciones y escalar a transacciones complejas.
Buenas prácticas: maneja errores de conexión y de firma mostrando mensajes claros al usuario. Permite cambiar de red entre devnet, testnet y mainnet de forma explícita. Considera persistir la última wallet seleccionada para reconectar de manera automática. Si usas renderizado del lado del servidor, protege los hooks de wallet para que solo se ejecuten en cliente.
Recursos adicionales recomendados: 1 wallet-ui colección de componentes de interfaz para monederos. 2 grill wallet-adapter-compat capa de compatibilidad para adaptadores de wallet existentes.
Cómo encaja en una solución empresarial: en Q2BSTUDIO integramos dApps y wallets en ecosistemas web y móviles, combinando desarrollo front y back con auditorías de ciberseguridad, despliegues en servicios cloud y analítica avanzada. Nuestro equipo crea aplicaciones a medida y software a medida, integra agentes IA y diseña pipelines de datos para servicios inteligencia de negocio con power bi. Si tu empresa necesita acelerar un proyecto Web3 o una plataforma moderna en React, podemos ayudarte desde la arquitectura hasta el soporte continuo.
Explora nuestros servicios de desarrollo de productos digitales en desarrollo de aplicaciones y software a medida y despliegues, observabilidad y escalado de infraestructuras en servicios cloud AWS y Azure. También somos especialistas en inteligencia artificial, ia para empresas, ciberseguridad y automatización de procesos, incluyendo el diseño de agentes IA y tableros de power bi listos para dirección y operaciones.
Conclusión: con Wallet Standard, React Context y @solana/kit obtienes un stack moderno, tipado y orientado a componibilidad para integrar wallets Solana, firmar y enviar transacciones de forma segura. Este enfoque reduce dependencias, estandariza la conexión con múltiples monederos y permite escalar desde un simple memo hasta flujos financieros complejos, manteniendo una base sólida para aplicaciones a medida en producción.