नॉनस क्या है?

अंतिम अपडेट: 31 मार्च 2025

परिचय

एक नॉनस (nonce) एक संख्या है जो REST API निजी एंडपॉइंट्स पर प्रत्येक कॉल को विशिष्ट रूप से पहचानती है। स्पॉट REST API पर सभी प्रमाणित कॉलों के लिए एक नॉनस आवश्यक है, जिसमें खाता प्रबंधन एंडपॉइंट्स (जैसे बैलेंस, क्वेरीऑर्डर्स, क्वेरीलेजर, आदि), फंडिंग/अर्जित एंडपॉइंट्स (डिपॉजिटएड्रेस, डिपॉजिटस्टेटस, आदि), और ट्रेडिंग एंडपॉइंट्स (ऐडऑर्डर, कैंसलऑर्डर, आदि) शामिल हैं।

फ्यूचर्स REST प्रमाणीकरण के लिए, नॉनस मान की आवश्यकता नहीं है।

कार्यान्वयन

एक नॉनस को एक काउंटर के रूप में लागू किया जाता है जो अद्वितीय होना चाहिए और API पर प्रत्येक कॉल के साथ बढ़ना चाहिए। उदाहरण के लिए, 0 के प्रारंभिक नॉनस मान को मानते हुए, बाद के वैध नॉनस मान 1, 2, 3, 4, और इसी तरह होंगे।

जबकि उपरोक्त जैसा एक साधारण काउंटर एक वैध नॉनस प्रदान करेगा, वैध नॉनस मान उत्पन्न करने का एक अधिक प्रभावी तरीका मिलीसेकंड में एक UNIX टाइमस्टैम्प का उपयोग करना है (1 जनवरी 1970 को 00:00:00 UTC के बाद से मिलीसेकंड की संख्या)। नॉनस के लिए मिलीसेकंड या उच्च रिज़ॉल्यूशन टाइमस्टैम्प का उपयोग यह गारंटी देता है कि एक वैध नॉनस की सभी आवश्यकताएं पूरी होती हैं (अद्वितीयता और हमेशा बढ़ती हुई), और तेजी से लगातार API कॉल करने वाले व्यापारियों (बाजार निर्माता, उच्च आवृत्ति ट्रेडिंग बॉट, आदि) के लिए पर्याप्त मान प्रदान करता है।

उदाहरण कोड

विभिन्न प्रोग्रामिंग भाषाओं में वैध मिलीसेकंड रिज़ॉल्यूशन नॉनस मान उत्पन्न करने के कुछ उदाहरण निम्नलिखित हैं:

पायथन (Python)

api_nonce = str(int(time.time()*1000))

जावास्क्रिप्ट (JavaScript)

var api_nonce = Date.now().toString()

पीएचपी (PHP)

$api_nonce = explode(' ', microtime());
$api_nonce = $api_nonce[1].substr($api_nonce[0], 2, 3);

API कुंजियाँ और नॉनस

प्रत्येक API कुंजी का अपना अलग नॉनस होता है, और नॉनस मान स्थायी होता है, जिसका अर्थ है कि सबसे हाल ही में उपयोग किया गया नॉनस अपरिवर्तित रहेगा, भले ही API कुंजी का कुछ समय के लिए उपयोग न किया गया हो।

ध्यान दें कि किसी विशिष्ट API कुंजी के लिए नॉनस को रीसेट करना संभव नहीं है। यदि कोई नॉनस मान अमान्य हो जाता है (जैसे गलती से भविष्य में बहुत दूर के UNIX टाइमस्टैम्प का उपयोग करना), तो समाधान प्रभावित API कुंजी को हटाना और एक नई API कुंजी उत्पन्न करना होगा, जिसमें स्वचालित रूप से 0 (शून्य) का एक नया प्रारंभिक नॉनस मान होगा।

क्या आपको और मदद चाहिए?