跳到主要内容

eth_accounts

读取当前 DApp 已获得授权的账户列表。这个方法只查询现有连接状态,不会弹出钱包授权窗口。


入参


结果

string[] - 已授权账户地址数组;如果尚未连接,返回空数组。


示范

const accounts = await window.$ukey.ethereum.request({
method: "eth_accounts",
});

if (accounts.length > 0) {
console.log("当前已授权账户:", accounts[0]);
} else {
console.log("钱包当前未连接");
}

页面加载时检查连接状态

async function loadAuthorizedAccount() {
const accounts = await window.$ukey.ethereum.request({
method: "eth_accounts",
});
return accounts.length > 0 ? accounts[0] : null;
}

const account = await loadAuthorizedAccount();
if (account) {
console.log("连接结果:", account);
} else {
// 需要用户先完成连接
await window.$ukey.ethereum.request({
method: "eth_requestAccounts",
});
}

错误码

错误码消息说明
-32603内部处理异常Provider 侧内部处理异常

说明

  • 不会触发连接弹窗,适合做静默状态检查。
  • 如果返回空数组,需要由用户主动点击后再调用 eth_requestAccounts
  • 账户切换或断开授权时,请通过 accountsChanged 事件同步页面状态。