Skip to Content
dApp 接入
本页目录

wallet_requestPermissions

请求 dApp 访问特定方法的权限。这是 EIP-2255 钱包权限系统的一部分。


参数

Array 包含一个权限请求对象:

字段类型说明
eth_accountsobject请求访问用户账户

返回值

Array 权限对象数组:

字段类型说明
parentCapabilitystring权限名称
datenumber授权时间戳
caveatsarray权限限制

示例

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

检查特定权限

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)

错误码

错误码消息说明
4001User rejected the request用户拒绝权限请求
-32602Invalid params权限请求无效

说明

  • 目前仅支持 eth_accounts 权限
  • 如果尚未连接,调用此方法会触发连接弹窗
  • 权限会持久化,直到用户撤销
  • 遵循 EIP-2255  规范

请处理目标钱包版本不支持该方法时返回的错误。账户权限与 RPC 连接状态不同,也不代表用户预先批准了签名或交易。基础账户连接使用 eth_requestAccounts。

最后更新于