FAILED — OUT OF ENERGY

OUT_OF_ENERGY: ne anlama gelir, nasıl düzeltilir

İşleminiz yürütülürken enerjisi bitti; ağ işlemi durdurdu ve FAILED olarak işaretledi. Hiçbir şey transfer edilmedi, ancak bu sırada yakılan TRX geri gelmez. Çözüm yaklaşık bir dakika sürer: adrese 65.000 enerji yükleyin ve tekrar gönderin.
Hatanın tam hâli

Hatayı nerede görüyorsunuz

Aynı hata, nereye baktığınıza bağlı olarak farklı ifadelerle karşınıza çıkar.

TronScan

İşlem sayfası, OUT OF ENERGY sonucuyla kırmızı bir FAILED durumu gösterir ve token transferi bölümü boştur.

Cüzdanınız

Trust Wallet, TronLink ve diğerleri genellikle işlemin başarısız olduğunu ya da ağ ücreti için yeterli enerji veya TRX olmadığını söyler.

Kodunuz

tronweb'den veya HTTP API'den gelen makbuz, receipt içinde result: 'OUT_OF_ENERGY' taşır ve işlemin kendi sonucu FAILED olarak ayarlanır.
İşlem makbuzu — json
{
"ret": [{ "contractRet": "OUT_OF_ENERGY" }],
"receipt": {
"energy_usage": 0,
"energy_fee": 5000000,
"energy_usage_total": 50000,
"net_usage": 345,
"result": "OUT_OF_ENERGY"
}
}
energy_usage değerinin 0 olması, adresin kendi enerjisi olmadığı ve her birimin TRX yakılarak ödenmesi gerektiği anlamına gelir. energy_fee sun cinsindendir: 5.000.000 sun, hiç gerçekleşmemiş bir transfer için yakılan 5 TRX demektir ve işlem ücret limiti bu olduğu için orada durmuştur — energy_usage_total değerindeki 50.000, transferin ihtiyaç duyduğu 65.000 enerjinin altındadır.
Neden olur

Sıklık sırasına göre üç neden

Adreste hiç enerji yok

Enerjinin ücretsiz günlük hakkı yoktur — bir adreste enerji ancak stake edilen TRX'ten veya bir devirden gelir. Enerji yoksa her USDT transferi TRX yakılarak ödenir; TRX bakiyesi veya ücret limiti 65.000 enerjinin tamamını karşılamıyorsa işlem yarı yolda ölür.

Alıcı yeni bir adres çıktı

USDT tutmayan bir adrese göndermek 65.000 yerine yaklaşık 131.000 enerji tutar — sözleşmenin yeni bir bakiye kaydı oluşturması gerekir. Çoğu borsa yatırma adresi bu şekilde davranır; borsaya yapılan transferlerin daha sık başarısız olmasının nedeni budur.

Ücret limiti çok düşük ayarlanmış

Ücret limiti, bir işlemin en fazla ne kadar TRX yakabileceğini sınırlar. Cüzdanlar çoğu zaman bir yıl önce cömert olan ama artık olmayan bir limiti varsayılan olarak kullanır ve işlem bu sınıra ulaştığı anda durur.
Çözüm

Şimdi ne yapmalı

Sorunun enerji olduğunu doğrulayın

Adresi sorgulama aracında kontrol edin: şu anki enerjisini bir transferin gerektirdiği miktarla karşılaştırarak gösterir.

Enerjiyi alın

Bir saatliğine 65.000 enerji kiralayın — 3,03 TRX — alıcıda henüz USDT yoksa 131.000 enerji kiralayın.

Devir işlemini bekleyin

3–10 saniye içinde gelir ve TronScan'de adresin Resources sekmesinde görünür.

Tekrar gönderin

Aynı transferi yeniden gönderin. Enerji yerindeyken ağ, TRX yakmak yerine devredilen enerjiyi harcar.
Geliştiriciler için

Size mal olmadan önce yakalayın

Bir sözleşme çağrısı imzalanmadan önce simüle edilebilir. Tahmin enerji birimi olarak döner; bunu hesabın kullanılabilir enerjisiyle karşılaştırmak önce yükleme yapmanız gerekip gerekmediğini söyler — ve bunu öğrenmek için asla başarısız bir işlemin bedelini ödemezsiniz.
Göndermeden önce tahmin edin — javascript
// 1. What the transfer will cost, in Energy
const {energy_used: needed} = await tronWeb.transactionBuilder.estimateEnergy(
usdtContract,
'transfer(address,uint256)',
{},
[{type: 'address', value: recipient}, {type: 'uint256', value: amount}],
sender,
);
​
// 2. What the address has right now
const res = await tronWeb.trx.getAccountResources(sender);
const available = (res.EnergyLimit ?? 0) - (res.EnergyUsed ?? 0);
​
// 3. Top up before signing, never after OUT_OF_ENERGY
if (available < needed) {
throw new Error(`Need ${needed - available} more Energy — rent it first`);
}
Herkese açık API ile koddan enerji satın alınır; böylece 3. adım hata fırlatmak yerine yükleme yapar. Belgeler: getgas.io/api/v1/docs; sorular için support@getgas.io adresine yazın.
SSS

Sıkça sorulan sorular

OUT_OF_ENERGY ne anlama gelir?

İşlemin yürütülmeye başladığı, adresteki tüm enerjiyi ve ücret limitinin yakmaya izin verdiği tüm TRX'i tükettiği ve yine de tamamlanamadığı anlamına gelir. Ağ işlemi FAILED olarak işaretledi. Transfer gerçekleşmedi, ancak enerji ve yakılan TRX her durumda harcanmış olur.

Yakılan TRX geri gelir mi?

Hayır. TRON, bu TRX'i ağın zaten yaptığı hesaplamanın bedeli olarak yakar ve başarısız bir işlem istisna değildir. Hiç kimse — ne cüzdan, ne hizmet, ne de doğrulayıcılar — bunu iade edemez. Bundan kaçınmanın tek yolu, göndermeden önce enerjiyi hazır bulundurmaktır.

USDT gönderildi mi?

Hayır. Başarısız bir işlem hiçbir bakiyeyi değiştirmez: USDT hiç çıkmadı ve alıcı hiçbir şey almadı. Hash değerini TronScan üzerinde kontrol edin — başarısız bir transfer kırmızı bir FAILED durumu gösterir ve token hareketi yoktur.

Aynı transfer dün neden çalıştı?

Stake edilen TRX'ten gelen enerji 24 saat içinde yenilenir; bu yüzden bir adresin günde bir transfer için yeterli enerjisi olup ikincisi için hiç olmayabilir. Maliyet alıcıya da bağlıdır: alıcı zaten USDT tutuyorsa 65.000 enerji, tutmuyorsa yaklaşık 131.000 enerji.

Ücret limitini yükseltmek sorunu çözüyor — bu iyi bir fikir mi?

Hatayı durdurur ama transferi ucuzlatmaz: daha yüksek bir ücret limiti, ağın daha fazla TRX yakmasına izin verir; normal bir transfer için yaklaşık 6,85 TRX. Enerjiyi kiralamak aynı sonuç için 3,03 TRX tutar.

Bunun tekrar olmasını nasıl önlerim?

Göndermeden önce adresi kontrol edin ve enerji eksik olduğunda kiralayın. Gün boyu gönderim yapan cüzdanlar için otomatik yükleme, bakiye bir eşiğin altına düşer düşmez enerji satın alır; böylece hiçbir transfer enerjisiz başlamaz.