TronNRG API ile USDT Transfer Ücretlerini TronNRG API Nasıl Azaltabilirsiniz?
Özetle: Standart bir USDT TRC-20 transferi 65.000 Energy tüketir. Cüzdanınızda Energy yoksa, Tron bunu karşılamak için bakiyenizden yaklaşık 13 TRX yakar. TronNRG API ile aynı Energy 4 TRX karşılığında devredersiniz; bu da her gönderimde yaklaşık %70'lik bir kesinti anlamına gelir. Entegrasyon üç HTTP işleminden oluşur: TRX dağıtım adresine gönderin, bir sahiplik mesajı imzalayın ve /delegate uç noktasına POST isteği gönderin. Bu kılavuz, her adımı kodla ve üretimde karşılaşacağınız en yaygın dört hatayla birlikte açıklamaktadır.
Başlamadan Önce
İlk API çağrısından önce üç şeye ihtiyacınız var:
TRX içeren bir Tron cüzdanı. Bir delegasyon için en az 4 TRX ödemeniz gerekir. Üretim ortamında daha fazlasına ihtiyacınız olacak; çünkü transfer başına ödeme yapacaksınız ve sıcak cüzdana periyodik olarak para yüklemek, her gönderim için mikro fonlama yapmaktan daha kolaydır.
Tron mesajlarını imzalamanın bir yolu. TronWeb tronWeb.trx.signMessageV2() işlevini sunar. Python, tronpy aracılığıyla tron.trx.sign_message_v2() işlevini kullanır. PHP ise iexbase/tron-api kütüphanesini kullanır. TronNRG API referansında dört dilde de çalışan örnekler bulunmaktadır.
Alıcı cüzdan adresi. Ödemeyi yapan cüzdana mı (en basit durum) yoksa kontrolünüzdeki farklı bir cüzdana mı (hazine yönetimi kurulumu) devredeceğinize önceden karar verin. Her ikisi de geçerlidir. İmza, ikisini birbirine bağlar.
Mevcut USDT gönderme fonksiyonunuzun etrafında bir sarmalayıcı. Bu sarmalayıcı üç HTTP işlemi (ödeme, imzalama, talep etme) gerçekleştirir, Energy gelmesini bekler ve ardından mevcut USDT transfer mantığınızı çağırır. Tüm entegrasyon bu kadar. Aşağıdaki her şey, her adımın ayrıntısıdır.
Adım 1: TRX Sevk Adresine Gönderin
Energy ödediğiniz cüzdandan TronNRG gönderim adresine TRX gönderin. Minimum tutar 4 TRX (bu da 65.000 Energy satın alır, bir standart USDT transferi için yeterlidir). Delegasyon başına maksimum tutar 1.000 TRX (16,25 milyon Energy ). Aradaki tutarlar için fiyatlandırma, TRX başına 16.250 Energy üzerinden doğrusal olarak yapılır.
TronWeb :
const DISPATCH = 'TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx';
const payment = await tronWeb.trx.sendTransaction(DISPATCH, 4 * 1e6);
// payment.txid is what you will sign in Step 2
Sık yapılan hata: TRX SUN cinsinden tam sayılarla göndermek ancak dönüşümü unutmak. TRX 6 ondalık basamağı vardır. 4 TRX 4_000_000 SUN'a eşittir ( 4 * 1e6 ). Bunu yanlış yapmak ya çok az miktarda para göndermenize (delegasyon çok küçük olur) ya da yüzlerce TRX göndermenize (delegasyon başarılı olur ancak gerekenden çok daha fazla ödeme yapmış olursunuz) neden olur. sendTransaction göndermeden önce miktarı her zaman ikiye katlayın.
Adım 2: Yetkilendirme Mesajını İmzalayın
API yetkilendirmeyi talep eden kişinin ödemeyi yapan kişiyle aynı kişi olduğuna dair kanıt ister. Bunu, ödeme yapan cüzdanın özel anahtarıyla bir mesaj imzalayarak sağlarsınız. Mesaj formatı şu şekildedir:
{payment_tx_hash}:{delegate_to_address}
Burada payment_tx_hash 1. adımda döndürülen txid'dir ve delegate_to_address ise Energy devredilmesini istediğiniz Tron adresidir. TronWeb :
const message = `${payment.txid}:${delegateTo}`;
const signature = await tronWeb.trx.signMessageV2(message);
Bu tasarımın nedeni: API anahtarlarına olan ihtiyacı ortadan kaldırırken yetkilendirmeyi güvenli tutuyor. Özel anahtar yalnızca sizde olduğu için başka hiç kimse ödemenizi talep edemez. Ayrıca, A cüzdanından ödeme yapıp B cüzdanına yetkilendirme yapabilirsiniz, yeter ki A cüzdanını kontrol edin; bu, tek bir ödeme yöneticisinden birden fazla gönderen cüzdan için Energy finanse eden hazineler için kullanışlıdır.
Sık yapılan hata: yanlış imzalama yöntemini kullanmak. Tron iki mesaj imzalama standardı vardır: signMessage (eski) ve signMessageV2 (EIP-191 uyumlu). API V2'yi bekler. Eski yöntemi kullanmak, API imza uyuşmazlığı olarak reddettiği geçerli görünümlü bir imza üretecektir.
3. Adım: Yetki Devrinizi Talep Edin
Ödeme karmasını, hedef cüzdanı ve imzayı api.tronnrg.com/delegate adresine JSON formatında POST edin.
const res = await fetch('https://api.tronnrg.com/delegate', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
tx_hash: payment.txid,
delegate_to: delegateTo,
signature
})
}).then(r => r.json());
API kullanacağınız üç alan döndürür: res.energy (gönderilen TRX miktarı ile 16.250'nin çarpımına eşit olan devredilen Energy miktarı), res.delegations[0].tx (zincir üzerindeki delegasyon işlem karması - bunu denetim günlüğünüz için saklayın) ve res.ref (destek sorguları için yararlı olan nrg_d_42 gibi bir referans kimliği).
Başarılı bir talebin ardından, delegasyon yaklaşık 3 saniye içinde zincir üzerinde işleme alınır. Bu işlem, o andan itibaren 15 dakika boyunca devam eder. 15 dakika sonra, kullanılmayan Energy otomatik olarak TronNRG havuzuna geri döner; kısmi iade yapılmaz.
Adım 4: USDT Transferinizi Yayınlayın
USDT transferini yayınlamadan önce, Energy gerçekten ulaştığından emin olun. Hedef cüzdanda tronWeb.trx.getAccountResources() sorgusunu, EnergyLimit - EnergyUsed değeri en az 65.000 olana kadar çalıştırın. 500 ms'lik bir aralık ve 30 saniyelik bir zaman aşımı standarttır.
Ardından USDT normalde yaptığınız gibi gönderin. Energy işlem ücretini karşılar. Gönderen cüzdandan hiçbir TRX yakılmaz.
// Wait for Energy to arrive
await pollUntilEnergyAvailable(delegateTo, 65000, { interval: 500, timeout: 30000 });
// Broadcast the USDT transfer
const contract = await tronWeb.contract().at( USDT _CONTRACT);
const txHash = await contract.transfer(recipient, amount).send({ feeLimit: 20_000_000 });
Her zaman bir feeLimit belirleyin. Eğer Energy bir şekilde gelmezse ve kodunuz yine de yayın yaparsa, feeLimit ağın yakabileceği maksimum TRX miktarını sınırlar. 20 TRX (20.000.000 SUN olarak ifade edilir) makul bir üst sınırdır; Energy başarısız olursa bir transferi karşılamaya yeterlidir ve bir hatanın sıcak cüzdanı boşaltmasını önleyecek şekilde sınırlandırılmıştır.
Bu size aslında ne kadar tasarruf sağlıyor?
Transfer başına tasarruf TRX cinsinden sabittir: her standart USDT gönderiminde yaklaşık 9 TRX tasarruf edilir (13 TRX yakılmasından kaçınılır, eksi 4 TRX Energy için ödenir). Bu rakam piyasa koşullarından etkilenmez; Tron ağının protokol düzeyinde bir özelliğidir. Değişen şey, bu 9 TRX kaç dolara karşılık geldiğidir.
Gerçek iş hacminde, tasarruflar hızla katlanarak artar:
| Günlük Transferler | Yıllık TRX Yakımı ( API yok) | API aracılığıyla yıllık TRX | Yılda Tasarruf Edilen TRX Miktarı | Kesinti |
|---|---|---|---|---|
| 10 | ~47.450 | 14.600 | ~32.850 | ~%69 |
| 100 | ~474.500 | 146.000 | ~328.500 | ~%69 |
| 500 | ~2,37 milyon | 730.000 | ~1,64 milyon | ~%69 |
| 1.000 | ~4,75 milyon | 1,46 milyon | ~3,29 milyon | ~%69 |
| 5.000 | ~23,7 milyon | 7,30 milyon | ~16,4 milyon | ~%69 |
Anlık TRX fiyatı üzerinden güncel USD rakamları için TronNRG işlem ücreti hesaplayıcısını kullanın; günlük işlem hacminizi girin ve gerçek zamanlı dolar tasarruflarını görün.
Günde 500'den fazla transfer gerçekleştiriyorsanız, kendi Energy üretmek için TRX kendiniz stake etmeyi de karşılaştırmanızda fayda var. Kendi kendinize stake etmenin transfer başına maliyeti neredeyse sıfırdır, ancak önemli miktarda sermaye kilitlemesi gerektirir. Stake etme başa baş noktası hesaplayıcısı, belirli hacminiz için API ve kendi kendinize stake etme çizgilerinin nerede kesiştiğini gösterir.
Sorun giderme
Sıkça karşılaşılan dört hata, önceden bilinmesi gereken önemli noktalardır:
İmza uyuşmazlığı (en yaygın olanı). API , V2 ile imzalıyor ancak siz eski signMessage yöntemiyle imzaladınız. Çözüm: signMessageV2 geçin. Tam hata kodları listesi TronNRG hata dokümantasyonunda bulunmaktadır.
Ödeme bulunamadı. Ödeme işlemi zincir üzerinde onaylanmadan önce /delegate çağrısı yaptınız. Çözüm: 1. Adımdan sonra 3. Adımı çağırmadan önce en az bir blok (yaklaşık 3 saniye) bekleyin. Kodda, tronWeb.trx.getTransaction(payment.txid) bir sonuç döndürene kadar sorgulayın.
Minimum tutarın altında ödeme yaptınız. 4 TRX az gönderdiniz. Gönderici, 4 TRX altındaki her şeyi geçersiz sayar ve otomatik olarak iade yapar. Çözüm: Göndermeden önce tutarları kontrol edin — minimum tutar sabittir.
Energy gelmedi. API tarafında yetkilendirme başarılı oldu ancak hedef cüzdanda hala Energy görünmüyor. Çözüm: Bir blok daha bekleyin ve tekrar kontrol edin — yayılma bazen 3 saniye yerine 6 saniye sürebilir. 30 saniye sonra hala Energy görünmüyorsa, gönderdiğiniz hedef cüzdan adresinin sorguladığınız adresle eşleştiğinden emin olun (burada genellikle bir yazım hatası söz konusudur).
Kurumsal siparişler için: Webhook onayları, toplu fiyatlandırma ve özel SLA'lar için Telegram üzerinden TronNRG ile iletişime geçin .
İlgili kılavuzlar: Geliştiriciler için Tron Energy API · Büyük ölçekte USDT transferlerini otomatikleştirme · 1 dolardan daha düşük tutarda USDT gönderme
ÜÇ API ÇAĞRISI. TÜM USDT TRANSFERLERİNDE %70 İNDİRİM.
TronNRG api.tronnrg.com adresinde yayında. Minimum 4 TRX , 1.000 TRX kadar doğrusal fiyatlandırma. 3 saniyelik yetkilendirme. İmza tabanlı kimlik doğrulama, API anahtarı gerekmez. Desteklenen tüm dillerde tam dokümanlar support.tronnrg.com adresinde.
ENERJİ KİRALAMA →