Auf dieser Seite
wallet_requestPermissions
Fordert Berechtigungen für den Zugriff der dApp auf bestimmte Methoden an. Dies ist Teil des Wallet-Berechtigungssystems EIP-2255.
Parameter
Array mit einem Berechtigungsanfrageobjekt:
| Feld | Typ | Beschreibung |
|---|---|---|
eth_accounts | object | Zugriff auf Nutzerkonten anfordern |
Rückgabe
Array von Berechtigungsobjekten:
| Feld | Typ | Beschreibung |
|---|---|---|
parentCapability | string | Der Berechtigungsname |
date | number | Zeitstempel der Erteilung |
caveats | array | Einschränkungen der Berechtigung |
Beispiel
const permissions = await window.$onekey.ethereum.request({
method: 'wallet_requestPermissions',
params: [{ eth_accounts: {} }]
})
console.log('Granted permissions:', permissions)
// [{ parentCapability: 'eth_accounts', date: 1234567890, caveats: [...] }]Bestimmte Berechtigung prüfen
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)Fehler
| Code | Nachricht | Beschreibung |
|---|---|---|
| 4001 | Nutzer hat die Anfrage abgelehnt | Nutzer hat die Berechtigungsanfrage abgelehnt |
| -32602 | Ungültige Parameter | Ungültige Berechtigungsanfrage |
Hinweise
- Derzeit wird nur die Berechtigung
eth_accountsunterstützt - Der Aufruf dieser Methode öffnet den Verbindungsdialog, wenn noch keine Verbindung besteht
- Berechtigungen bleiben bestehen, bis der Nutzer sie widerruft
- Spezifiziert durch EIP-2255
Behandeln Sie Fehler für nicht unterstützte Methoden in der Ziel-Wallet-Version. Kontoberechtigungen unterscheiden sich von der RPC-Verbindung und genehmigen keine Signaturen oder Transaktionen im Voraus. Für eine einfache Verbindung verwenden Sie eth_requestAccounts.
Zuletzt aktualisiert am