ገንቢ ሰነዶች
TronEnergy API ስህተት ኮዶች እና ችግር አፈታት
የ TronEnergy API ሙሉ ስህተት ኮዶች ዝርዝር ከገለጻዎች ፣ ምክንያቶች እና ቅል ደረጃዎች ጋር። ክፍያ ማረጋገጫ ፣ ፊርማ እና ስልጣን ስህተቶች ይሸፍናሉ።
ሁሉም ስህተት ምላሽ ሁለት መስኮች አላቸው: error (ማሽን-ሰነጣዊ ፣ ዋጋ አልተለወጠም በስሪት ዋስ) እና message (ለሰዎች ምችት ፣ ከወቅት ወደ ወቅት ሊሻሻል ይችላል)። ሁል ጊዜ ወደ error በእርስዎ ኮድ ውስጥ ይላኩ። message ለተጠቃሚዎች ያሳዩ።
ስህተት ቅጽ
ሁሉም ስህተት ምላሽ ተመሳሳይ መዋቅር ይከተላሉ:
ስህተት ምላሽ
{
"error": "error_code_here",
"message": "Human-readable explanation"
}
አንዳንድ ስህተቶች ተጨማሪ መስኮች ይዘዋል: ref (ለኃይል ምልክት ሙከራ ማጣቀሻ ID) እና refund (ራስ-ሰር ገንዘብ መመለስ ዝርዝሮች)።
ማረጋገጫ ስህተቶች
| ስህተት ኮድ | HTTP | ምክንያት | መፍትሄ |
|---|---|---|---|
invalid_tx_hash | 400 | tx_hash ባለ 64 ቁምፊ ሄክስ ሕብረቁምፊ ነው | ሀሽ ቅርጸትን ያረጋግጡ። በትክክል 64 ሄክስ ቁምፊዎች መሆን አለበት፣ ቅድመ ቅጥያ የለም። |
invalid_address | 400 | delegate_to ትክክለኛ Tron አድራሻ ነው | ወደ ጥሪ ሊላክ በፊት TronWeb.isAddress() በመጠቀም አድራሻውን ይረጋግጡ። |
missing_signature | 400 | በ ጥያቄው ውስጥ ፊርማ አልተሰጠም | መልእክቱን ይፍኑ {tx_hash}:{delegate_to} ከ tronWeb.trx.signMessageV2() TRX ላክ ያለበት ዋሊት። |
invalid_signature | 401 | ፊርማ ማረጋገጥ ጉድለት ሆኗል | በትክክል ፈርመዋል ብለው ያረጋግጡ {tx_hash}:{delegate_to} (ዝቅተኛ ሄክስ ሀሽ፣ ኮሎን፣ ትክክለኛ Tron አድራሻ)። |
signature_mismatch | 403 | ሂሳብ አድራሻ ከ ክፍያ ላከው ጋር አይዛመድም | ፊርማው ከ TRX ክፍያ ላክ ያለበት ተመሳሳይ ዋሊት መምጣት አለበት። የተለየ ዋሊት = ውድቅ። |
ክፍያ ስህተቶች
| ስህተት ኮድ | HTTP | ምክንያት | መፍትሄ |
|---|---|---|---|
payment_verification_failed | 404 / 400 | በ-ሰንሰለት ክፍያ ማረጋገጥ ጉድለት ሆኗል። message መስክ ልዩ ምክንያቱን ይገልፃል። | የተለመደ ምክንያቶች: tx ገና ያልተረጋገጠ (3-5 ሰከንዶች ጠብቁ እና አንድ ጊዜ ላይ ሞክሩ)፣ ስህተት ተቀባይ አድራሻ፣ ዝውውር ሙሉ በሙሉ TRX ዝውውር ነው፣ ከ 4 TRX ዝቅተኛ በታች። |
hash_already_used | 409 | ይህ tx ሀሽ ቀደም ሲል በየት ተገዥ | እያንዳንዱ ክፍያ ሀሽ አንድ ጊዜ ብቻ ሊያገለግል ይችላል። ለ አዲስ ኃይል ምልክት ሙከራ አዲስ ክፍያ ይላኩ። |
ሴቭ ስህተቶች
| ስህተት ኮድ | HTTP | ምክንያት | መፍትሄ |
|---|---|---|---|
delegation_failed | 400 / 500 | ሃይል ምልክት ሙከራ ግቦ ለመስጠት ሊችሉ አልቻሉ | ከ ክፍያ ማረጋገጥ በኋላ ስህተት ወጣ ከሆነ፣ ራስ-ሰር ገንዘብ መመለስ ወረፈ። መግለጫውን ያረጋግጡ refund ነገር። ወይም ድግም ሞክር ወይም ድጋፍ ጠይቅ ref ID። |
rate_limited | 429 | ይህ IP ከብዙ ጥያቄዎች | ዘግይ እና ድግም ሞክር። ገደብ በሰከንድ 20 ጥያቄዎች። |
server_error | 500 | ያልተጠበቀ ውስጣዊ ስህተት | ጥቂት ሰከንድ በኋላ ድግም ሞክር። ቢቀጥል ድጋፍ ጠይቅ 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);