Jede Fehlermeldung enthält zwei Felder: error (maschinenlesbar, stabil, ändert sich nie zwischen den Versionen) und message (Menschenlesbar, kann im Laufe der Zeit verbessert werden). Immer einschalten error in Ihrem Code. Anzeige message für Benutzer.

Fehlerformat

Alle Fehlermeldungen folgen der gleichen Struktur:

error response
{ "error": "error_code_here", "message": "Human-readable explanation" }

Einige Fehler enthalten zusätzliche Felder: ref (eine Referenz-ID für den Delegierungsversuch) und refund (Details zur automatischen Rückerstattung).

Validierungsfehler

FehlercodeHTTPUrsacheAuflösung
invalid_tx_hash400tx_hash ist keine 64-stellige Hexadezimalzeichenkette.Überprüfen Sie das Hash-Format. Es muss genau 64 Hexadezimalzeichen lang sein, ohne Präfix.
invalid_address400delegate_to ist keine gültige Tron AdresseÜberprüfen Sie die Adresse vor dem Aufruf mit TronWeb ().
missing_signature400Der Anfrage lag keine Unterschrift bei.Unterschreiben Sie die Nachricht {tx_hash}:{delegate_to} mit tronWeb.trx.signMessageV2() aus der Wallet, die die TRX gesendet hat.
invalid_signature401Die Signatur konnte nicht verifiziert werden.Stellen Sie sicher, dass Sie genau unterschrieben haben. {tx_hash}:{delegate_to} (Hexadezimal-Hash in Kleinbuchstaben, Doppelpunkt, exakte Tron Adresse).
signature_mismatch403Die Adresse des Unterzeichners stimmt nicht mit der Adresse des Zahlungsabsenders überein.Die Signatur muss von derselben Wallet stammen, von der die TRX Zahlung gesendet wurde. Andere Wallet = Ablehnung.

Zahlungsfehler

FehlercodeHTTPUrsacheAuflösung
payment_verification_failed404 / 400Die On-Chain-Zahlung konnte nicht verifiziert werden. message Das Feld beschreibt die spezifische Ursache.Häufige Ursachen: Transaktion noch nicht bestätigt (3-5 Sekunden warten und einmal wiederholen), falsche Empfängeradresse, Transaktion ist keine TRX Überweisung, unter dem Mindestbetrag von 4 TRX .
hash_already_used409Dieser Transaktions-Hash wurde bereits beansprucht.Jeder Zahlungs-Hash kann nur einmal verwendet werden. Senden Sie eine neue Zahlung für eine neue Delegation.

Servicefehler

FehlercodeHTTPUrsacheAuflösung
delegation_failed400 / 500Der Anbieter konnte die Energielieferung nicht durchführen.Wenn der Fehler nach der Zahlungsbestätigung aufgetreten ist, wird eine automatische Rückerstattung veranlasst. Überprüfen Sie die refund Andernfalls versuchen Sie es erneut oder wenden Sie sich mit dem Objekt an den Support. ref AUSWEIS.
rate_limited429Zu viele Anfragen von dieser IP-AdresseLangsamer vorgehen und erneut versuchen. Limit: 20 Anfragen pro Sekunde.
server_error500Unerwarteter interner FehlerVersuchen Sie es nach einigen Sekunden erneut. Sollte das Problem weiterhin bestehen, wenden Sie sich bitte an den Support. ref falls verfügbar.

Fehlerbehandlung im Code

recommended error handling
const result = await fetch('https://api.tronnrg.com/delegate', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ tx_hash: hash, delegate_to: addr, signature: sig }), }).then(r => r.json()); if (result.error) { switch (result.error) { case 'payment_verification_failed': // Most common: tx not yet indexed. Wait 3s and retry once. await new Promise(r => setTimeout(r, 3000)); return retry(hash, addr); case 'hash_already_used': // Already claimed. Don't retry. throw new Error('Duplicate delegation attempt'); case 'signature_mismatch': // Signer != payment sender. Sign with the same key. throw new Error('Signer does not match payment sender'); case 'delegation_failed': // Refund queued automatically if payment was verified. if (result.refund) console.log('Refund queued:', result.refund); break; default: console.error(result.error, result.message); } return; } // Success console.log('Delegated:', result.energy, 'energy'); console.log('Delegation tx:', result.delegations[0].tx); // verify on TronScan console.log('Ref:', result.ref);
Telegram WhatsApp