Skip to Content
dApps
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:

FeldTypBeschreibung
eth_accountsobjectZugriff auf Nutzerkonten anfordern

Rückgabe

Array von Berechtigungsobjekten:

FeldTypBeschreibung
parentCapabilitystringDer Berechtigungsname
datenumberZeitstempel der Erteilung
caveatsarrayEinschrä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

CodeNachrichtBeschreibung
4001Nutzer hat die Anfrage abgelehntNutzer hat die Berechtigungsanfrage abgelehnt
-32602Ungültige ParameterUngültige Berechtigungsanfrage

Hinweise

  • Derzeit wird nur die Berechtigung eth_accounts unterstü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