Zum Hauptinhalt springen

Fehler

Umschließen Sie Provider-Anfragen immer mit try / catch. Pali verwendet nach Möglichkeit standardmäßige Fehler im JSON-RPC- und EIP-1193-Stil sowie Wallet-spezifische Fehler für nicht unterstützte Netzwerke, Hardware-Wallet-Einschränkungen und Passkey-Zustände.

try {
await window.ethereum.request({
method: 'eth_sendTransaction',
params: [tx],
});
} catch (error) {
switch (error.code) {
case 4001:
console.log('User rejected the request.');
break;
case 4100:
console.log('The dapp is not authorized.');
break;
case 4200:
console.log('The method is unsupported.');
break;
default:
console.error(error);
}
}

Häufige Kategorien​

CodeBedeutung
4001Der Nutzer hat die Anfrage abgelehnt.
4100Nicht autorisiertes Konto oder nicht autorisierte Methode.
4101Die Methode ist nur für eine andere Chain-Familie verfügbar.
4200Nicht unterstützte Methode.
4900Provider nicht verbunden.
4901Provider nicht mit der angeforderten Chain verbunden.
5710Für die Chain des EIP-5792-Bundles ist in der Wallet kein RPC konfiguriert (wallet_getCallsStatus / wallet_showCallsStatus).
5720Doppelte, von der Dapp bereitgestellte EIP-5792-Bundle-ID in wallet_sendCalls.
5730Unbekannte EIP-5792-Bundle-ID in wallet_getCallsStatus / wallet_showCallsStatus.

Siehe Fehlercodes für die ausführlichere Referenz.

Unterbrochene Anfragen erneut versuchen​

Eine Zeitüberschreitung, ein geschlossenes Freigabefenster oder eine unterbrochene Verbindung beweist nicht immer, dass eine Transaktion nie gesendet wurde. Prüfen Sie bekannte Transaktions-Hashes, den Transaktionsverlauf oder den Bundle-Status, bevor Sie eine weitere Signatur oder Übermittlung anfordern. Eine bestätigte Übermittlung bleibt erfolgreich, auch wenn die spätere Aktualisierung des lokalen Transaktionsverlaufs fehlschlägt.

Wiederholen Sie gewöhnliche Lesezugriffe, wenn dies angemessen ist. Führen Sie Anfragen zum Signieren, Erstellen einer Wallet oder Senden einer Transaktion nach einem unklaren Ergebnis jedoch nicht automatisch erneut aus. Wenn sich Konto oder Netzwerk geändert haben, holen Sie eine neue Freigabe für den aktuellen Kontext ein. Prüfen Sie bei einer ausstehenden Smart-Account-Einrichtung den Status im ursprünglichen Netzwerk, bevor Sie ein weiteres Deployment versuchen.