Ethereum लेनदेन विफल: फिर भी गैस शुल्क क्यों लगा
असफल कार्रवाई में टोकन उतने ही रह सकते हैं, लेकिन ETH घट सकता है। अगली कोशिश के लिए भुगतान करने से पहले लेनदेन का रिकॉर्ड पढ़ें।
विफल Ethereum लेनदेन में भी ETH खर्च हो सकता है, क्योंकि निष्पादन में सशुल्क गणना होती है, भले ही इच्छित कार्रवाई वापस हो जाए। यदि लेनदेन ब्लॉक में शामिल हुआ और उसका शीर्ष स्तर का स्टेटस Failed है, तो उस लेनदेन का ट्रांसफर या कॉन्ट्रैक्ट में बदलाव लागू नहीं होता। निष्पादन शुल्क फिर भी लगता है।
यह गाइड अपने गैस शुल्क का भुगतान खुद करने वाले खाते से किए गए सामान्य Ethereum Mainnet लेनदेन के लिए है। स्मार्ट खाते, प्रायोजित लेनदेन, एक्सचेंज से निकासी और कई चेन में होने वाले ट्रांसफर में अतिरिक्त चरण या शुल्क हो सकते हैं। ऐप में एक चरण विफल होना यह साबित करने के लिए पर्याप्त नहीं कि पूरा ऑनचेन लेनदेन विफल हुआ।
पहले तय करें कि असल में क्या विफल हुआ
वॉलेट की गतिविधि से लेनदेन खोलें और Ethereum Mainnet के एक्सप्लोरर में जाँचें। पूरा लेनदेन हैश, भेजने वाला, ब्लॉक नंबर और समग्र स्टेटस नोट करें। ये सार्वजनिक विवरण बिना कुछ साइन किए देख सकते हैं।
यह अंतर महत्वपूर्ण है, क्योंकि Ethereum की रसीदें शीर्ष स्तर के निष्पादन का परिणाम दर्ज करती हैं: स्टेटस 0 का अर्थ विफलता और 1 का अर्थ सफलता है। ट्रेस में किसी आंतरिक कॉल की विफलता जरूरी नहीं कि पूरे लेनदेन की विफलता हो। समग्र स्टेटस Success हो तो यह मानने के बजाय कि सब वापस हो गया, कार्रवाई का वास्तविक परिणाम देखें।
यदि ब्लॉक नंबर नहीं है और लेनदेन अभी लंबित है, तो लंबित लेनदेन की जाँच सूची इस्तेमाल करें। नीचे की जाँचें ब्लॉक में शामिल होने के बाद के लिए हैं; पहले ही विफल हो चुके लेनदेन का शुल्क बढ़ाने से उसका दर्ज परिणाम नहीं बदलता।
शुल्क और इच्छित राशि को अलग पढ़ें
विफल लेनदेन के पेज पर Transaction Fee, Gas Used और प्रभावी Gas Price खोजें, यदि एक्सप्लोरर उन्हें दिखाता है। इच्छित ट्रांसफर की राशि अलग रखें। Value फ़ील्ड यह बता सकती है कि निष्पादन के लिए क्या भेजा गया था, लेकिन यह साबित नहीं करती कि वह राशि प्राप्तकर्ता तक पहुँची।
सामान्य Mainnet लेनदेन में लिया गया निष्पादन शुल्क, इस्तेमाल हुई गैस और प्रति गैस प्रभावी कीमत का गुणनफल है। अधिकतम शुल्क सेटिंग और गैस सीमा ऊपरी सीमाएँ हैं; इन दोनों को गुणा करने से वास्तविक भुगतान साबित नहीं होता। Ethereum का गैस दस्तावेज़ इन अंतरों को समझाता है।
यह समझाने के लिए गणना है, कोई वास्तविक लेनदेन या मौजूदा शुल्क का अनुमान नहीं:
| मद | उदाहरण का मान |
|---|---|
| इच्छित टोकन ट्रांसफर | 100 टोकन |
| रसीद का समग्र स्टेटस | Failed |
| इस्तेमाल हुई गैस | 60,000 इकाइयाँ |
| प्रभावी गैस कीमत | प्रति इकाई 5 gwei |
| निष्पादन शुल्क | 300,000 gwei, यानी 0.0003 ETH |
यदि कोई अन्य गतिविधि नहीं हुई, तो विफल ट्रांसफर में भेजने वाले का टोकन बैलेंस समान रहता है और ETH बैलेंस शुल्क जितना घटता है। यह उदाहरण उपयुक्त गैस सीमा तय नहीं करता और न ही आपके अगले लेनदेन की कीमत बताता है।
यदि ETH में कमी दर्ज शुल्क से अधिक है, तो उसी खाते के अन्य लेनदेन देखें। शुल्क का हिसाब डॉलर वाले पोर्टफोलियो चार्ट से न निकालें: बाजार की कीमतें उसी समय बदल सकती हैं। यदि अलग स्क्रीन पर मात्राएँ फिर भी मेल नहीं खातीं, तो पोर्टफोलियो बैलेंस की जाँच सूची पर आगे बढ़ें।
गैस खत्म होने और कॉन्ट्रैक्ट द्वारा वापस करने में अंतर करें
Etherscan की विफलता गाइड गैस खत्म होने वाले निष्पादन और कॉन्ट्रैक्ट द्वारा रिवर्ट करने में अंतर बताती है। दोनों से लेनदेन विफल हो सकता है, लेकिन जाँच अलग होगी।
निष्पादन के दौरान गैस खत्म होना: गणना में उपलब्ध गैस समाप्त हो गई। किए जाने वाले बदलाव वापस होते हैं और दी गई गैस खर्च हो जाती है। इस्तेमाल हुई गैस की सीमा से तुलना करें और एक्सप्लोरर की त्रुटि पढ़ें। यदि कार्रवाई वैध थी और आप अब भी उसे करना चाहते हैं, तो उसके अनुमान के लिए वॉलेट या प्रोटोकॉल के मौजूदा निर्देश पढ़ें। किसी असंबंधित ट्रांसफर की पुरानी सीमा कॉपी न करें।
निष्पादन वापस होना: कॉन्ट्रैक्ट ने निष्पादन रोका और अपने बदलाव वापस कर दिए। वह अधूरी शर्त बताने वाली त्रुटि लौटा सकता है। REVERT विनिर्देश बची हुई गैस रहने देता है, इसलिए विफल रसीद में गैस सीमा का 100% खर्च होना जरूरी नहीं।
सटीक त्रुटि सहेजें और जिस प्रोटोकॉल का इस्तेमाल करना था उसके दस्तावेज़ में खोजें। एक्सप्लोरर उसे डिकोड न कर पाए, और सामान्य रिवर्ट संदेश कारण न बताए। ऐसे में कारण अनसुलझा रहता है। ज्यादा गैस उपलब्ध होना इस बात का प्रमाण नहीं कि कॉन्ट्रैक्ट की शर्त बदल गई है।
गैस की कीमत और सीमा अलग नियंत्रण हैं। प्रति इकाई अधिक भुगतान कॉन्ट्रैक्ट से अस्वीकार्य कार्रवाई स्वीकार नहीं करा सकता। जिस चेतावनी को आप समझते नहीं, उसे हटाने के लिए लेनदेन की सुरक्षा ढीली न करें और न ही सीमाएँ बढ़ाएँ।
दोबारा कोशिश से पहले पिछले सफल चरण जाँचें
ऐप की प्रक्रिया में एक से ज्यादा लेनदेन हो सकते हैं। जैसे एक लेनदेन में अनुमति सफल हो सकती है और बाद के दूसरे लेनदेन में स्वैप विफल हो सकता है। बाद की विफलता पिछला लेनदेन वापस नहीं करती। हर हैश और उसका स्टेटस अलग जाँचें।
अगली कोशिश अधिकृत करने से पहले छोटा रिकॉर्ड बनाएँ:
- विफल कार्रवाई: हैश, ब्लॉक, समग्र स्टेटस और सटीक त्रुटि।
- लागत: लेनदेन शुल्क, इस्तेमाल हुई गैस और प्रभावी गैस कीमत।
- अन्य चरण: अलग अनुमति, जमा या दोबारा कोशिश के हैश और परिणाम।
- मौजूदा स्थिति: Mainnet पर इस खाते की टोकन मात्रा और प्रोटोकॉल में कोई संबंधित स्थिति।
- दोबारा कोशिश का कारण: पहचाना गया कारण और उसे दूर करने के लिए क्या बदला है।
यदि आखिरी मद पूरी नहीं कर सकते, तो दोबारा कोशिश में कारण अनसुलझा रहेगा और नया लेनदेन ब्लॉक में शामिल होने पर एक और शुल्क लग सकता है। सार्वजनिक लेनदेन विवरण के साथ प्रोटोकॉल के आधिकारिक सहायता माध्यम का उपयोग करें और सीड वाक्यांश तथा निजी कुंजियाँ गुप्त रखें।
असफल कार्रवाई से वापस मिलने योग्य गैस बैलेंस नहीं बनता
MetaMask बताता है कि वह नेटवर्क गैस शुल्क जमा नहीं करता और उसे वापस नहीं कर सकता। इस्तेमाल न हुई गैस की गुंजाइश और निष्पादन में पहले ही खर्च हुआ शुल्क अलग हैं। उस बची हुई गुंजाइश का दावा करने के लिए किसी रिफंड साइट से जुड़ने की जरूरत नहीं।
पोर्टफोलियो ट्रैकर होल्डिंग की तुलना में मदद कर सकता है, लेकिन उसका कुल मूल्य कॉन्ट्रैक्ट की त्रुटि नहीं समझा सकता और न ही लेनदेन वापस कर सकता है। विफल रसीद और उसका शुल्क इस कोशिश के रिकॉर्ड के रूप में रखें। आगे बढ़ने से पहले आपको पता होना चाहिए कि कौन सी कार्रवाई विफल हुई, उसकी लागत क्या थी और नई कोशिश कौन सी शर्त बदलेगी।
अक्सर पूछे जाने वाले सवाल
Ethereum लेनदेन विफल होने पर क्या भेजने के लिए चुने टोकन खो जाते हैं?
सामान्य Ethereum Mainnet लेनदेन की रसीद में शीर्ष स्तर पर विफलता होने पर, इच्छित ट्रांसफर और कॉन्ट्रैक्ट की स्थिति में बदलाव वापस हो जाते हैं। भेजने वाला फिर भी निष्पादन शुल्क देता है। यदि बैलेंस इससे मेल नहीं खाता, तो अलग लेनदेन और टोकन का सही कॉन्ट्रैक्ट जाँचें।
क्या विफल लेनदेन हमेशा पूरी गैस सीमा खर्च करता है?
नहीं। कॉन्ट्रैक्ट सारी उपलब्ध गैस इस्तेमाल करने से पहले जानबूझकर निष्पादन वापस कर सकता है। निष्पादन के दौरान गैस खत्म होने पर दी गई गैस खर्च हो जाती है। सीमा से नतीजा निकालने के बजाय रसीद में इस्तेमाल हुई गैस और विफलता का कारण पढ़ें।
क्या गैस की कीमत बढ़ाने से वापस किया गया लेनदेन ठीक हो जाएगा?
गैस की प्रति इकाई अधिक कीमत कॉन्ट्रैक्ट की शर्तें नहीं बदलती। पहले त्रुटि पहचानें। गैस सीमा और गैस कीमत अलग सेटिंग हैं, और नई कोशिश भी विफल होकर फिर शुल्क ले सकती है।