TRC-20 ट्रांसफर फ़ीस का विश्लेषण: एनर्जी, Bandwidth, और वास्तव में क्या चार्ज होता है
दो संसाधन, एक ट्रांज़ैक्शन
TRON पर हर TRC-20 ट्रांसफर दो अलग संसाधनों का उपयोग करता है: bandwidth और एनर्जी। उन्हें अलग से बिल किया जाता है, अलग पूल्स से लिया जाता है, और इनके पास पूरी तरह से अलग पुनर्भरण मैकेनिक्स हैं। ज़्यादातर डेवलपर्स एक या दूसरे को समझते हैं, लेकिन उन दोनों के बीच की परस्पर क्रिया वहाँ है जहाँ लागतें या तो प्रबंधनीय रहती हैं या बेक़ाबू हो जाती हैं।
Bandwidth एक ट्रांज़ैक्शन को नेटवर्क पर प्रसारित करने की कच्ची बाइट लागत को कवर करता है। एनर्जी स्मार्ट कॉन्ट्रैक्ट लॉजिक चलाने की VM निष्पादन लागत को कवर करती है। एक सरल TRX ट्रांसफर को केवल bandwidth की ज़रूरत होती है। एक TRC-20 ट्रांसफर, जो टोकन कॉन्ट्रैक्ट के transfer(address,uint256) फ़ंक्शन को ट्रिगर करता है, को दोनों की ज़रूरत होती है।
Bandwidth: सरल आधा हिस्सा
हर TRON अकाउंट को एक बेसलाइन आवंटन के माध्यम से प्रति दिन 600 मुफ़्त bandwidth मिलता है। एक स्टैंडर्ड TRC-20 ट्रांसफर ट्रांज़ैक्शन आमतौर पर लगभग 345 बाइट्स का होता है, जो लगभग 345 bandwidth यूनिट्स में मैप होता है (नेटवर्क ट्रांज़ैक्शन डेटा के प्रति बाइट 1 bandwidth चार्ज करता है, हस्ताक्षरों और मेमो फ़ील्ड्स सहित)।
अगर आपके अकाउंट में पर्याप्त मुफ़्त दैनिक bandwidth है या bandwidth के लिए स्टेक किए गए TRX हैं, तो ट्रांज़ैक्शन की इस आयाम पर कोई लागत नहीं होती। अगर bandwidth पूल ख़ाली है, तो नेटवर्क सीधे 0.001 TRX प्रति bandwidth यूनिट (1,000 SUN प्रति बाइट) की दर पर TRX बर्न करता है। 345-यूनिट ट्रांज़ैक्शन के लिए, यह भेजने वाले पते से 0.345 TRX बर्न होता है, बिना किसी स्टेकिंग की आवश्यकता के।
मुफ़्त 600 दैनिक यूनिट्स 00:00 UTC पर रीसेट होती हैं। अगर आप कम-वॉल्यूम ट्रांसफर्स कर रहे हैं, तो आप शायद ही कभी bandwidth लागतों पर पहुँचेंगे। हाई-वॉल्यूम भेजने वाले आमतौर पर बर्न करने के बजाय bandwidth के लिए TRX स्टेक करते हैं, क्योंकि स्टेकिंग उपज प्रति TRX बर्न रेट की तुलना में अधिक ट्रांज़ैक्शन्स को कवर करती है।
एनर्जी: जहाँ असली लागत बसती है
एक USDT TRC-20 ट्रांसफर लगभग 65,000 energy का उपयोग करता है। वह संख्या TRON वर्चुअल मशीन के अंदर EVM-कम्पैटिबल बाइटकोड निष्पादन से आती है: कॉन्ट्रैक्ट की बैलेंस मैपिंग में स्टोरेज पढ़ना और लिखना, Transfer लॉग के लिए इवेंट एमिशन, और आंतरिक सुरक्षा जाँचें। सटीक आँकड़ा थोड़ा बदल सकता है कि क्या स्टोरेज स्लॉट्स पहली बार लिखे जा रहे हैं (कोल्ड) या अपडेट किए जा रहे हैं (वार्म), लेकिन 65,000 दो सक्रिय पतों के बीच एक सामान्य USDT ट्रांसफर के लिए स्टैंडर्ड आँकड़ा है। एक प्राप्तकर्ता जिसका USDT बैलेंस वर्तमान में शून्य है, उसे एक ट्रांसफर लगभग 130,000 energy तक दोगुना हो जाता है क्योंकि एक नया स्टोरेज स्लॉट आवंटित होता है।
एनर्जी के दो स्रोत हैं: आपके अपने स्टेक किए गए TRX, या किसी थर्ड पार्टी से किराये पर ली गई (डेलिगेट की गई) एनर्जी। TRX स्टेक करने से आपको नेटवर्क के कुल एनर्जी पूल का आनुपातिक हिस्सा मिलता है, और पूल 24 घंटों में रैखिक रूप से 100% पर वापस रिजेनरेट होता है। प्रति स्टेक किए गए TRX एनर्जी का सटीक अनुपात कुल नेटवर्क-वाइड स्टेक की गई राशि पर निर्भर करता है और समय के साथ बदलता है। केवल अपने स्टेक से 65,000 energy की वसूली के लिए लॉक करने के लिए काफ़ी मात्रा में TRX की आवश्यकता होती है, यही वजह है कि एनर्जी रेंटल मौजूद है।
जब एनर्जी ख़त्म हो जाती है तो क्या होता है
अगर एक ट्रांज़ैक्शन को 65,000 energy की ज़रूरत है और आपके अकाउंट में पर्याप्त उपलब्ध नहीं है, तो नेटवर्क चुपचाप आंशिक निष्पादन नहीं करता। इसके बजाय, यह ट्रांज़ैक्शन की fee_limit जाँचता है और एनर्जी की कमी को पूरा करने के लिए उस सीमा तक आपके अकाउंट से TRX बर्न करता है, फिर पूरा ट्रांज़ैक्शन निष्पादित करता है। अगर कमी आपकी fee_limit से अधिक हो जाएगी, तो कोई भी स्टेट बदलाव कमिट होने से पहले ट्रांज़ैक्शन विफल हो जाता है।
यह वह परिदृश्य है जिससे आप बचना चाहते हैं: अपनी स्टेक की गई एनर्जी और ऊपर से बर्न किए गए TRX दोनों के लिए भुगतान करना, या इससे भी बुरा, सीधे ट्रांज़ैक्शन विफल हो जाना क्योंकि fee_limit बहुत कम सेट थी। एक रणनीति पर प्रतिबद्ध होने से पहले आप प्राइसिंग पेज पर 65,000 energy को कवर करने के लिए वर्तमान TRX लागत की जाँच कर सकते हैं।
Stake 2.0 ने डेलिगेशन के काम करने का तरीक़ा बदल दिया
Stake 2.0 (अप्रैल 2023 में मेननेट पर सक्रिय) से पहले, स्टेकिंग और डेलिगेशन आपस में जुड़े हुए थे: रिसोर्स ओनर freezeBalance कॉल करता था और सीधे एक रिसीवर पता निर्दिष्ट करता था, फ्रीज़ उस रिसीवर से बंधा होता था, और मॉडल में रिसोर्स मार्केट्स के लिए ज़रूरी लचीलापन नहीं था।
Stake 2.0 ने freezeBalanceV2 पेश किया और स्टेकिंग एक्शन को डेलिगेशन एक्शन से अलग किया। अब आप TRX को एक व्यक्तिगत एनर्जी या bandwidth पूल में स्टेक करते हैं, फिर उस संसाधन को delegateResource के माध्यम से अलग से डेलिगेट करते हैं। इसका मतलब है:
- डेलिगेशन्स डिफ़ॉल्ट रूप से रद्द किए जा सकते हैं और अनस्टेक किए बिना पुनः असाइन किए जा सकते हैं। एक वैकल्पिक
lockफ़्लैग है: इसे true सेट करने पर डेलिगेशन कम से कम नेटवर्क की न्यूनतम लॉक अवधि (वर्तमान में 3 दिन) तक बना रहता है। उस फ़्लैग के बिना, आप किसी भी समय डेलिगेशन वापस खींच सकते हैं। - 14-दिन की अनफ्रीज़ प्रतीक्षा अवधि अंतर्निहित TRX स्टेक पर लागू होती है जब आप इसे निकालते हैं, डेलिगेशन पर नहीं।
- एनर्जी रेंटल प्लेटफ़ॉर्म्स एक स्टेक की गई पोज़िशन से कई प्राप्तकर्ता पतों पर डेलिगेशन्स साइकल कर सकते हैं।
ऑन-चेन, जब tronenergyrent.com जैसा एक रेंटल प्लेटफ़ॉर्म आपके पते पर एनर्जी डेलिगेट करता है, तो डेलिगेट की गई राशि आपकी अकाउंट स्थिति में परिलक्षित होती है, जो wallet/getaccount के माध्यम से acquired_delegated_frozenV2_balance_for_energy के रूप में दिखाई देती है। संबंधित उपयोग योग्य एनर्जी आपके अकाउंट की एनर्जी सीमा के विरुद्ध दिखाई देती है और आपकी ओर से किसी कार्रवाई के बिना तुरंत खर्च योग्य होती है।
रेंटल लागत बनाम बर्न लागत
रेंटल की कीमत प्रति अवधि टियर है: 1 घंटा, 1 दिन, 3 दिन, 30 दिन। 1-घंटे का टियर TRX में पूर्ण रूप से सबसे सस्ता है, 30-दिन का टियर सबसे महंगा है, बीच में 1-दिन और 3-दिन। मूल्य निर्धारण यह दर्शाता है कि प्लेटफ़ॉर्म का अंतर्निहित TRX स्टेक आपके पते पर कितने समय तक लॉक है: लंबी विंडो = अधिक पूँजी बंधी = अधिक TRX चार्ज। TRX में वर्तमान प्रति-टियर संख्याओं के लिए, प्राइसिंग देखें।
बर्निंग की तुलना में, रेंटल लगभग हमेशा उन भेजने वालों के लिए जीतता है जो पहले से योजना बनाते हैं। नेटवर्क की डायनामिक दर पर पूरी 65,000 energy बर्न करना सीधा है लेकिन जो भी वर्तमान बर्न लागत होती है उससे प्रभावित होता है, जो कुल नेटवर्क एनर्जी डिमांड बदलने पर तेज़ी से बदल सकता है। रेंटल आपको ऑर्डर के समय एक फिक्स्ड TRX लागत देता है।
निष्पादन के दौरान रिसोर्स प्राथमिकता क्रम
जब एक ट्रांज़ैक्शन निष्पादित होता है, तो VM एक विशिष्ट क्रम में एनर्जी लेती है:
- आपके पते पर अन्य अकाउंट्स द्वारा डेलिगेट किए गए संसाधनों द्वारा समर्थित एनर्जी
- आपके अपने स्टेक किए गए TRX से एनर्जी
- किसी भी बची हुई कमी को कवर करने के लिए आपके अकाउंट से बर्न किया गया TRX (
fee_limitद्वारा सीमित)
यह क्रम रेंटल रणनीतियों के लिए मायने रखता है। डेलिगेट की गई एनर्जी आपके अपने स्टेक से पहले खर्च होती है। तो अगर आपके पास अपनी स्टेक की गई एनर्जी और किराये पर ली गई एनर्जी दोनों हैं, तो किराये पर लिया गया हिस्सा पहले से लिया जाता है। एक बार रेंटल विंडो समाप्त हो जाने और डेलिगेशन वापस लौटने के बाद, आपका अकाउंट अपने स्टेक किए गए बैलेंस पर वापस गिरता है या, अगर वह पर्याप्त नहीं है, तो TRX बर्न पर।
Bandwidth भी उसी प्राथमिकता का पालन करता है: पहले मुफ़्त दैनिक आवंटन, फिर स्टेक किया गया bandwidth, फिर TRX बर्न। कोई क्रॉस-रिसोर्स प्रतिस्थापन नहीं है; आप अतिरिक्त एनर्जी का उपयोग bandwidth की कमी को कवर करने के लिए नहीं कर सकते।
ऑन-चेन अपने अकाउंट की रिसोर्स स्थिति पढ़ना
TRON API एंडपॉइंट wallet/getaccountresource उन फ़ील्ड्स के साथ एक JSON ऑब्जेक्ट लौटाता है जिन्हें आपको जानना चाहिए:
EnergyLimit: आपके अपने स्टेक से आपके अकाउंट को वर्तमान में उपलब्ध कुल एनर्जीEnergyUsed: वर्तमान 24-घंटे की विंडो में उपयोग की गई एनर्जीTotalEnergyLimit: नेटवर्क-वाइड कुल एनर्जी (स्टेक-टू-एनर्जी अनुपात की गणना के लिए उपयोगी)TotalEnergyWeight: एनर्जी के लिए नेटवर्क-वाइड कुल स्टेक भारfreeNetLimit: आपका मुफ़्त दैनिक bandwidth भत्ता (आमतौर पर 600)NetLimit: आपके अपने स्टेक किए गए TRX से bandwidthNetUsed: आज उपयोग किया गया bandwidthTotalNetLimit,TotalNetWeight: bandwidth के लिए नेटवर्क-वाइड कुल
यह देखने के लिए कि दूसरों ने आपके पते पर कितनी एनर्जी डेलिगेट की है, wallet/getaccount क्वेरी करें और acquired_delegated_frozenV2_balance_for_energy फ़ील्ड पढ़ें। प्रति-डेलिगेटर विवरण के लिए, किसी भी लॉक समाप्ति सहित, wallet/getdelegatedresourcev2 का उपयोग करें।
अगर आप एक सिस्टम बना रहे हैं जो प्रोग्रामेटिक रूप से TRC-20 ट्रांसफर्स भेजता है, तो ब्रॉडकास्ट करने से पहले इन एंडपॉइंट्स को पोल करना आपको कम-एनर्जी स्थितियों का पता लगाने देता है इससे पहले कि वे अप्रत्याशित TRX बर्न का कारण बनें। API डॉक्स में बताया गया है कि स्वचालित वर्कफ़्लो में रिसोर्स जाँच और एनर्जी ऑर्डरिंग को कैसे एकीकृत किया जाए।
टोकन कॉन्ट्रैक्ट्स एनर्जी खपत में क्यों भिन्न होते हैं
USDT का 65,000 energy आँकड़ा TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t पर Tether कॉन्ट्रैक्ट के लिए विशिष्ट है। अन्य TRC-20 कॉन्ट्रैक्ट्स भिन्न होंगे। अतिरिक्त लॉजिक वाला टोकन कॉन्ट्रैक्ट (फ़ी-ऑन-ट्रांसफर मैकेनिक्स, राउटर्स के लिए अलाउंस जाँच, या कई टॉपिक्स के लिए इवेंट एमिशन) प्रति कॉल अधिक एनर्जी का उपयोग करेगा। एक न्यूनतम ERC-20-शैली का कॉन्ट्रैक्ट 30,000 से नीचे आ सकता है।
कॉन्ट्रैक्ट की वास्तविक एनर्जी लागत जानने का एकमात्र विश्वसनीय तरीक़ा ट्रांज़ैक्शन का सिमुलेशन करना है या एक ब्लॉक एक्सप्लोरर पर उस विशिष्ट कॉन्ट्रैक्ट के लिए ऐतिहासिक निष्पादन रिकॉर्ड देखना है। USDT आँकड़े को सभी TRC-20 टोकन्स पर सार्वभौमिक रूप से लागू न करें।