Conexión y Desconexión
Gestiona el estado de la conexión de la billetera y la selección de múltiples billeteras.
Busca en todas las páginas de la documentación
Gestiona el estado de la conexión de la billetera y la selección de múltiples billeteras.
"use client";
import { useWallet } from "@solana/wallet-adapter-react";
const { connect, disconnect, connected, connecting, wallet, select } = useWallet();Cuándo usar esto:
"use client";
import { useCallback } from "react";
import { useWallet } from "@solana/wallet-adapter-react";
import { useWalletModal } from "@solana/wallet-adapter-react-ui";
export function WalletControls() {
const { connected, disconnect, wallet } = useWallet();
const { setVisible } = useWalletModal();
const handleConnect = useCallback(() => setVisible(true), [setVisible]);
if (!connected) {
return <button onClick={handleConnect}>Seleccionar billetera</button>;
}
return (
<div>
<span>{wallet?.adapter.name}</span>
<button onClick={() => disconnect()}>Desconectar</button>
</div>
);
}Lo que esto demuestra:
disconnect limpia la sesión del adaptador.connect negocia con el adaptador seleccionado a través de Wallet Standard.disconnect debe limpiar las cachés de la aplicación indexadas por pubkey.reconnect puede reutilizar el adaptador previo cuando autoConnect está habilitado.connect() sin modal cuando hay múltiples billeteras - adaptador ambiguo. Solución: mostrar siempre el selector.connecting - errores de doble clic. Solución: deshabilitar el botón mientras se conecta.connect = permiso de firma - cada transacción aún requiere aprobación.| Alternativa | Usar Cuando | No Usar Cuando |
|---|---|---|
| Billetera embebida (Phantom embebido) | Incorporación del consumidor | Posicionamiento de autocustodia completa |
| SIWS + sesión de servidor | Inicio de sesión estilo Web2 | Solo autenticación completamente on-chain |
Coincide la URL de RPC, la red de la billetera y los IDs de programa con un solo clúster.
Usa @solana/kit 7.0.0 para nuevo código frontend.
Surfpool 0.12.0 o devnet con faucet SOL.
confirmed para UX; finalized para lecturas de alto valor.
Proveedores en el layout del cliente; las lecturas pueden ser del lado del servidor.
Muestra reintentar; nunca asumas aprobación.
Instrucciones de presupuesto de cómputo en mainnet congestionada.
Usa Mobile Wallet Adapter para aplicaciones React Native.
Nunca expongas las keypairs del servidor al navegador.
Regenera clientes tipados en CI.
Versiones de Stack: Esta página fue escrita para Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1, anchor-lang 0.32.1, Rust 1.91.1, @solana/kit 7.0.0, Surfpool 0.12.0, y LiteSVM 0.6.x.
Revisado por Chris St. John·Última actualización: 16 jul 2026