ননস (nonce) কী?

সর্বশেষ আপডেট: ৩১ মার্চ, ২০২৫

ভূমিকা

একটি ননস (nonce) হলো একটি সংখ্যা যা REST API-এর ব্যক্তিগত এন্ডপয়েন্টগুলিতে প্রতিটি কলকে স্বতন্ত্রভাবে চিহ্নিত করে। স্পট REST API-তে সমস্ত প্রমাণীকৃত কলের জন্য একটি ননস প্রয়োজন, যার মধ্যে অ্যাকাউন্ট ম্যানেজমেন্ট এন্ডপয়েন্টগুলি (যেমন ব্যালেন্স, অর্ডার জিজ্ঞাসা, লেজার জিজ্ঞাসা ইত্যাদি), ফান্ডিং/আর্নিং এন্ডপয়েন্টগুলি (ডিপোজিট অ্যাড্রেস, ডিপোজিট স্ট্যাটাস ইত্যাদি), এবং ট্রেডিং এন্ডপয়েন্টগুলি (অর্ডার যোগ করুন, অর্ডার বাতিল করুন ইত্যাদি) অন্তর্ভুক্ত।

ফিউচার্স REST প্রমাণীকরণের জন্য, একটি ননস মান প্রয়োজন হয় না

বাস্তবায়ন

একটি ননস (nonce) একটি কাউন্টার হিসাবে প্রয়োগ করা হয় যা অনন্য হতে হবে এবং API-তে প্রতিটি কলের সাথে বৃদ্ধি পেতে হবে। উদাহরণস্বরূপ, 0 এর একটি প্রারম্ভিক ননস মান ধরে নিলে, পরবর্তী বৈধ ননস মানগুলি হবে 1, 2, 3, 4, ইত্যাদি।

যদিও উপরের মতো একটি সাধারণ কাউন্টার একটি বৈধ ননস প্রদান করবে, বৈধ ননস মান তৈরি করার আরও কার্যকর পদ্ধতি হল মিলিসেকেন্ডে একটি UNIX টাইমস্ট্যাম্প ব্যবহার করা (1লা জানুয়ারী 1970, 00:00:00 UTC থেকে মিলিসেকেন্ডের সংখ্যা)। ননসের জন্য একটি মিলিসেকেন্ড বা উচ্চতর রেজোলিউশনের টাইমস্ট্যাম্প ব্যবহার করা নিশ্চিত করে যে একটি বৈধ ননসের সমস্ত প্রয়োজনীয়তা পূরণ হয়েছে (অনন্যতা এবং সর্বদা বৃদ্ধি), এবং দ্রুত ধারাবাহিক API কল করা ট্রেডারদের জন্য পর্যাপ্ত মান সরবরাহ করে (বাজার নির্মাতা, উচ্চ ফ্রিকোয়েন্সি ট্রেডিং বট ইত্যাদি)।

উদাহরণ কোড

বিভিন্ন প্রোগ্রামিং ভাষায় বৈধ মিলিসেকেন্ড রেজোলিউশন ননস মান তৈরি করার কিছু উদাহরণ নিচে দেওয়া হলো:

পাইথন

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

জাভাস্ক্রিপ্ট

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

পিএইচপি

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

API কী এবং ননস

প্রতিটি API কী-এর নিজস্ব আলাদা ননস (nonce) থাকে এবং ননস মান স্থায়ী হয়, যার অর্থ হল একটি API কী কিছু সময়ের জন্য ব্যবহার না করা হলেও সম্প্রতি ব্যবহৃত ননস অপরিবর্তিত থাকবে।

মনে রাখবেন যে একটি নির্দিষ্ট API কী-এর জন্য ননস রিসেট করা সম্ভব নয়। যদি একটি ননস মান অবৈধ হয়ে যায় (যেমন ভুলবশত ভবিষ্যতে অনেক দূরের একটি UNIX টাইমস্ট্যাম্প ব্যবহার করা), তাহলে সমাধান হবে প্রভাবিত API কীটি মুছে ফেলা এবং একটি নতুন API কী তৈরি করা, যা স্বয়ংক্রিয়ভাবে 0 (শূন্য) এর একটি নতুন প্রারম্ভিক ননস মান পাবে।

আরও সাহায্যের প্রয়োজন?