Skip to Content
dApps
En esta página

wallet_requestPermissions

Solicita permisos para que la dApp acceda a métodos específicos. Forma parte del sistema de permisos de cartera EIP-2255.


Parámetros

Array que contiene un objeto de solicitud de permisos:

CampoTipoDescripción
eth_accountsobjectSolicitar acceso a las cuentas del usuario

Devuelve

Array de objetos de permiso:

CampoTipoDescripción
parentCapabilitystringEl nombre del permiso
datenumberMarca de tiempo de la concesión
caveatsarrayRestricciones del permiso

Ejemplo

const permissions = await window.$onekey.ethereum.request({ method: 'wallet_requestPermissions', params: [{ eth_accounts: {} }] }) console.log('Granted permissions:', permissions) // [{ parentCapability: 'eth_accounts', date: 1234567890, caveats: [...] }]

Comprobar un permiso específico

const permissions = await window.$onekey.ethereum.request({ method: 'wallet_requestPermissions', params: [{ eth_accounts: {} }] }) const hasAccountsPermission = permissions.some( p => p.parentCapability === 'eth_accounts' ) console.log('Has accounts permission:', hasAccountsPermission)

Errores

CódigoMensajeDescripción
4001El usuario rechazó la solicitudEl usuario denegó la solicitud de permiso
-32602Parámetros no válidosSolicitud de permiso no válida

Notas

  • Actualmente, el permiso eth_accounts es el único compatible
  • La llamada a este método abre la solicitud de conexión si aún no hay conexión
  • Los permisos se mantienen hasta que el usuario los revoca
  • Definido por EIP-2255 

Gestiona los errores de método no compatible en la versión de cartera de destino. El permiso de cuenta es distinto de la conectividad RPC y no autoriza de antemano firmas ni transacciones. Para una conexión básica, usa eth_requestAccounts.

Última actualización el