En esta página
Seleccionar proveedor de cartera
Reutiliza tu flujo EIP-1193 y selecciona OneKey explícitamente. Usa descubrimiento EIP-6963 para un selector de varias carteras, o window.$onekey.ethereum para un botón de conexión específico de OneKey.
// Run from a user-initiated Connect action.
const provider = window.$onekey?.ethereum;
if (!provider) throw new Error('OneKey Ethereum provider is unavailable.');
try {
const accounts = await provider.request({ method: 'eth_requestAccounts' });
// Update your application's selected account from accounts.
} catch (error) {
// Show a recoverable error; do not automatically repeat the prompt.
console.error(error.code, error.message);
}Migrar una integración existente
- Conserva el proveedor seleccionado para cuentas, firmas, transacciones y listeners de eventos.
- Sustituye las llamadas obsoletas a
enable()porrequest({ method: 'eth_requestAccounts' }). - Trata
isOneKeycomo una propiedad booleana.isMetaMaskpor sí solo no identifica una cartera única en un entorno de compatibilidad. - Gestiona
accountsChanged,chainChangedy las promesas rechazadas; elimina listeners al desmontar la vista. - Comprueba los métodos específicos de la cartera en tu versión de destino, sin suponer compatibilidad con todos los métodos de MetaMask.
Cambio histórico de proveedor
Las integraciones antiguas usaban window.onekey y window.ethereum.switchProvider(). switchProvider no forma parte de EIP-1193. Usa descubrimiento o el proveedor con espacio de nombres en código nuevo. Comprueba la disponibilidad de cualquier método antiguo antes de llamarlo al mantener una integración heredada.
Última actualización el