ሁሉም ስህተት ምላሽ ሁለት መስኮች አላቸው: error (ማሽን-ሰነጣዊ ፣ ዋጋ አልተለወጠም በስሪት ዋስ) እና message (ለሰዎች ምችት ፣ ከወቅት ወደ ወቅት ሊሻሻል ይችላል)። ሁል ጊዜ ወደ error በእርስዎ ኮድ ውስጥ ይላኩ። message ለተጠቃሚዎች ያሳዩ።

ስህተት ቅጽ

ሁሉም ስህተት ምላሽ ተመሳሳይ መዋቅር ይከተላሉ:

ስህተት ምላሽ
{ "error": "error_code_here", "message": "Human-readable explanation" }

አንዳንድ ስህተቶች ተጨማሪ መስኮች ይዘዋል: ref (ለኃይል ምልክት ሙከራ ማጣቀሻ ID) እና refund (ራስ-ሰር ገንዘብ መመለስ ዝርዝሮች)።

ማረጋገጫ ስህተቶች

ስህተት ኮድHTTPምክንያትመፍትሄ
invalid_tx_hash400tx_hash ባለ 64 ቁምፊ ሄክስ ሕብረቁምፊ ነውሀሽ ቅርጸትን ያረጋግጡ። በትክክል 64 ሄክስ ቁምፊዎች መሆን አለበት፣ ቅድመ ቅጥያ የለም።
invalid_address400delegate_to ትክክለኛ Tron አድራሻ ነውወደ ጥሪ ሊላክ በፊት TronWeb.isAddress() በመጠቀም አድራሻውን ይረጋግጡ።
missing_signature400በ ጥያቄው ውስጥ ፊርማ አልተሰጠምመልእክቱን ይፍኑ {tx_hash}:{delegate_to}tronWeb.trx.signMessageV2() TRX ላክ ያለበት ዋሊት።
invalid_signature401ፊርማ ማረጋገጥ ጉድለት ሆኗልበትክክል ፈርመዋል ብለው ያረጋግጡ {tx_hash}:{delegate_to} (ዝቅተኛ ሄክስ ሀሽ፣ ኮሎን፣ ትክክለኛ Tron አድራሻ)።
signature_mismatch403ሂሳብ አድራሻ ከ ክፍያ ላከው ጋር አይዛመድምፊርማው ከ TRX ክፍያ ላክ ያለበት ተመሳሳይ ዋሊት መምጣት አለበት። የተለየ ዋሊት = ውድቅ።

ክፍያ ስህተቶች

ስህተት ኮድHTTPምክንያትመፍትሄ
payment_verification_failed404 / 400በ-ሰንሰለት ክፍያ ማረጋገጥ ጉድለት ሆኗል። message መስክ ልዩ ምክንያቱን ይገልፃል።የተለመደ ምክንያቶች: tx ገና ያልተረጋገጠ (3-5 ሰከንዶች ጠብቁ እና አንድ ጊዜ ላይ ሞክሩ)፣ ስህተት ተቀባይ አድራሻ፣ ዝውውር ሙሉ በሙሉ TRX ዝውውር ነው፣ ከ 4 TRX ዝቅተኛ በታች።
hash_already_used409ይህ tx ሀሽ ቀደም ሲል በየት ተገዥእያንዳንዱ ክፍያ ሀሽ አንድ ጊዜ ብቻ ሊያገለግል ይችላል። ለ አዲስ ኃይል ምልክት ሙከራ አዲስ ክፍያ ይላኩ።

ሴቭ ስህተቶች

ስህተት ኮድHTTPምክንያትመፍትሄ
delegation_failed400 / 500ሃይል ምልክት ሙከራ ግቦ ለመስጠት ሊችሉ አልቻሉከ ክፍያ ማረጋገጥ በኋላ ስህተት ወጣ ከሆነ፣ ራስ-ሰር ገንዘብ መመለስ ወረፈ። መግለጫውን ያረጋግጡ refund ነገር። ወይም ድግም ሞክር ወይም ድጋፍ ጠይቅ ref ID።
rate_limited429ይህ IP ከብዙ ጥያቄዎችዘግይ እና ድግም ሞክር። ገደብ በሰከንድ 20 ጥያቄዎች።
server_error500ያልተጠበቀ ውስጣዊ ስህተትጥቂት ሰከንድ በኋላ ድግም ሞክር። ቢቀጥል ድጋፍ ጠይቅ ref ካለ።

ስህተቶችን በኮድ ውስጥ ማቀናበር

የሚመከር ስህተት ተገቢነት
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