जब टोकन मिंटिंग, अथॉरिटी हटाने या लिक्विडिटी पूल बनाते समय Solana ट्रांजैक्शन फेल होता है, तो इसका कारण नेटवर्क द्वारा जांची गई कोई विशिष्ट त्रुटि होती है। Solana ट्रांजैक्शन्स एटॉमिक रूप से निष्पादित होते हैं: यदि ट्रांजैक्शन के किसी एक निर्देश में भी त्रुटि आती है, तो पूरा ट्रांजैक्शन रद्द हो जाता है, कोई बदलाव लागू नहीं होता और केवल नेटवर्क फीस कटती है।
फेल हुए ट्रांजैक्शन्स की पहचान के लिए अपने वॉलेट में SOL बैलेंस, नेटवर्क RPC स्थिति, अकाउंट आवश्यकताओं और Solana एक्सप्लोरर पर लॉग्स की जांच करना आवश्यक है।
Solana ट्रांजैक्शन चक्र कैसे काम करता है
यह समझने के लिए कि ट्रांजैक्शन क्यों फेल हुआ, यह देखें कि निर्देश नेटवर्क पर कैसे प्रोसेस होते हैं:
- निर्माण (Construction): एक टूल निर्देशों (जैसे
InitializeMint या CreateAccount) वाला ट्रांजैक्शन बनाता है और हालिया नेटवर्क ब्लॉकहैश जोड़ता है।
- साइनिंग (Signing): आपका वॉलेट आवश्यक अथॉरिटी एड्रेस की प्राइवेट की से ट्रांजैक्शन साइन करता है।
- प्रसारण (Broadcasting): साइन किया गया ट्रांजैक्शन Solana RPC (Remote Procedure Call) नोड को भेजा जाता है।
- सत्यापन (Validation): नेटवर्क का लीडर वैलिडेटर वर्तमान ब्लॉकचेन स्थिति के अनुसार निर्देशों की जांच करता है।
- निष्पादन या निरस्तीकरण: सही होने पर बदलाव ब्लॉक में दर्ज होते हैं। गलत होने पर ट्रांजैक्शन निरस्त होकर एरर कोड दर्ज करता है।
आधिकारिक Solana Transaction Documentation ट्रांजैक्शन सीमाओं, ब्लॉकहैश समय सीमा और निर्देशों के निष्पादन का विवरण देता है।
त्रुटि 1: अकाउंट रेंट फीस के लिए अपर्याप्त SOL
टोकन निर्माण फेल होने का सबसे आम कारण वॉलेट में SOL बैलेंस का इतना कम होना है कि वह अकाउंट रेंट एग्जम्पशन फीस को पूरा न कर सके।
Solana पर, प्रत्येक नए अकाउंट (जैसे मिंट अकाउंट, मेटाडेटा अकाउंट या एसोसिएटेड टोकन अकाउंट) को वैलिडेटर मेमोरी में बने रहने के लिए मूल SOL का एक न्यूनतम बैलेंस रखना पड़ता है। इसे रेंट एग्जम्पशन (rent exemption) कहा जाता है।
दो अलग-अलग शुल्कों के अंतर को समझें:
- नेटवर्क ट्रांजैक्शन फीस: वैलिडेटर्स को ट्रांजैक्शन प्रोसेस करने के लिए दी जाने वाली छोटी फीस (आमतौर पर 0.000005 SOL)।
- रेंट एग्जम्पशन डिपॉजिट: नया अकाउंट खोलने के लिए आवश्यक एकमुश्त जमा राशि (आमतौर पर प्रति अकाउंट 0.002 से 0.005 SOL)।
यदि आपके वॉलेट में ठीक 0.001 SOL है, तो आपके पास ट्रांजैक्शन फीस के लिए तो पैसे हैं, लेकिन नया अकाउंट खोलने की रेंट फीस न होने के कारण ट्रांजैक्शन फेल हो जाएगा। टोकन या पूल बनाने से पहले अपने वॉलेट में हमेशा कम से कम 0.02 से 0.05 SOL रखें।
त्रुटि 2: RPC नोड पर भीड़ और ब्लॉकहैश की समाप्ति
प्रत्येक Solana ट्रांजैक्शन में एक हालिया ब्लॉकहैश (blockhash) शामिल होता है ताकि ट्रांजैक्शन दोहराया न जा सके। एक ब्लॉकहैश लगभग 150 नेटवर्क स्लॉट्स (लगभग 60 से 90 सेकंड) तक ही मान्य रहता है।
यदि Solana नेटवर्क पर बहुत अधिक ट्रैफिक है या RPC नोड संदेश भेजने में देरी करता है:
- ट्रांजैक्शन RPC कतार में अटका रह सकता है जब तक कि उसका ब्लॉकहैश समाप्त न हो जाए।
- 150 स्लॉट्स बीत जाने के बाद, वैलिडेटर्स
BlockhashNotFound या TransactionExpired एरर के साथ ट्रांजैक्शन खारिज कर देते हैं।
- आपका वॉलेट “Transaction Timed Out” का संदेश दिखा सकता है।
RPC टाइमआउट से बचने के लिए:
- नया ब्लॉकहैश पाने के लिए वेब पेज को रिफ्रेश करें।
- नेटवर्क की स्थिति जांचें।
- उच्च क्षमता वाले RPC नोड्स वाले टूल्स का उपयोग करें।
- नेटवर्क पर भीड़ होने पर प्रायोरिटी फीस थोड़ी बढ़ाएं।
त्रुटि 3: अमान्य एसोसिएटेड टोकन अकाउंट (ATA)
टोकन मिंट करते समय या किसी को भेजते समय, प्राप्तकर्ता के पास उस विशिष्ट टोकन के लिए बना हुआ एसोसिएटेड टोकन अकाउंट (ATA) होना आवश्यक है।
यदि कोई ट्रांजैक्शन पहले CreateAssociatedTokenAccount निर्देश चलाए बिना सीधे टोकन भेजने का प्रयास करता है, तो वह AccountDoesNotExist एरर के साथ फेल हो जाएगा।
मार्गदर्शित टूल्स इस विफलता से बचने के लिए टोकन मिंटिंग के साथ ही ATA बनाने का निर्देश अपने आप जोड़ देते हैं।
त्रुटि 4: अथॉरिटी का मेल न खाना और साइन निरस्त होना
यदि ट्रांजैक्शन ऐसे वॉलेट से साइन किया गया है जिसके पास वर्तमान में उस कार्य की अथॉरिटी नहीं है, तो ट्रांजैक्शन निरस्त हो जाएगा:
- मिंटिंग त्रुटि: ऐसे वॉलेट से टोकन मिंट करने का प्रयास करना जो वर्तमान मिंट अथॉरिटी नहीं है।
- फ्रीज त्रुटि: ऐसे वॉलेट से अकाउंट फ्रीज करने का प्रयास करना जिसके पास फ्रीज अथॉरिटी नहीं है।
- मेटाडेटा त्रुटि: ऐसे वॉलेट से मेटाडेटा बदलने का प्रयास करना जो अपडेट अथॉरिटी नहीं है।
यदि आपने कोई दूसरा वॉलेट कनेक्ट किया है या अथॉरिटी किसी अन्य एड्रेस को ट्रांसफर कर दी थी, तो नेटवर्क सही साइन न मिलने पर ट्रांजैक्शन खारिज कर देगा।
Solscan पर फेल हुए ट्रांजैक्शन्स की पहचान कैसे करें
त्रुटि आने पर सटीक कारण देखने के लिए Solscan का उपयोग करें:
- अपने वॉलेट इतिहास से फेल हुए ट्रांजैक्शन का सिग्नेचर (हैश) कॉपी करें।
- उस सिग्नेचर को Solscan पर सर्च करें।
- सबसे ऊपर दिख रहे स्टेटस बैनर (Failed या Instruction Error) को देखें।
- नीचे Program Logs सेक्शन में जाएं।
- एरर कोड जांचें:
custom program error: 0x1 (रेंट या ट्रांसफर के लिए अपर्याप्त SOL)।
BlockhashNotFound (ट्रांजैक्शन भेजने में बहुत अधिक समय लगा)।
ConstraintRaw या InvalidAccountData (गलत अथॉरिटी की या अकाउंट न बना होना)।
त्वरित ट्रबलशूटिंग गाइड
ट्रांजैक्शन फेल होने पर इस चेकलिस्ट का उपयोग करें:
| लक्षण / एरर संदेश |
मुख्य कारण |
समाधान |
| Transaction Failed: Custom Error 0x1 |
रेंट फीस के लिए वॉलेट में पर्याप्त मूल SOL नहीं है। |
अपने वॉलेट में कम से कम 0.02 SOL जोड़ें और पुनः प्रयास करें। |
| Blockhash Not Found / Timed Out |
RPC पर भीड़ या भेजने में देरी। |
नया ब्लॉकहैश पाने के लिए पेज रिफ्रेश करें और पुनः भेजें। |
| Account Does Not Exist |
प्राप्तकर्ता का ATA अकाउंट अभी तक नहीं बना है। |
सुनिश्चित करें कि ट्रांजैक्शन में ATA बनाने का निर्देश शामिल है। |
| Signature Verification Failed |
कनेक्टेड वॉलेट के पास आवश्यक अथॉरिटी नहीं है। |
उस सटीक वॉलेट एड्रेस पर स्विच करें जिसके पास अथॉरिटी की है। |
| वॉलेट पॉपअप अपने आप बंद हो जाता है |
वॉलेट एक्सटेंशन में टकराव या ब्राउज़र रुकावट। |
वॉलेट को मैनुअल अनलॉक करें, अन्य एक्सटेंशन बंद करें और पुनः प्रयास करें। |
ट्रांजैक्शन की कार्यप्रणाली को समझना, रेंट फीस के लिए पर्याप्त SOL रखना और Solscan पर लॉग्स की जांच करना Solana पर बिना किसी रुकावट के टोकन कार्य सुनिश्चित करता है।