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事件同步页面状态。