मुख्य सामग्री पर जाएं

Quicknode के साथ नॉन-कस्टोडियल ट्रांजैक्शन कैसे करें

को अपडेट
26 नवंबर, 2025

पढ़ने में 7 मिनट लगेंगे

अवलोकन

क्रिप्टोग्राफी और ब्लॉकचेन के संदर्भ में, निजी कुंजी सबसे संवेदनशील डेटा में से एक है। हालांकि, कस्टोडियल वॉलेट (जहां वॉलेट प्रदाता के पास उपयोगकर्ता की निजी कुंजी की सुरक्षा होती है) और नॉन-कस्टोडियल वॉलेट (जहां वॉलेट उपयोगकर्ता के पास निजी कुंजी की सुरक्षा होती है) के बीच चुनाव को लेकर हमेशा से ही बहस/भ्रम की स्थिति रही है। यह गाइड कस्टोडियल और नॉन-कस्टोडियल वॉलेट के बीच के अंतर को गहराई से समझाएगी और क्विकनोड का उपयोग करके नॉन-कस्टोडियल लेनदेन करने का तरीका बताएगी।

आवश्यक शर्तें

  • आपके सिस्टम पर Node.js इंस्टॉल होना चाहिए।
  • टेक्स्ट एडिटर।
  • टर्मिनल उर्फ ​​कमांड-लाइन।

नॉन-कस्टोडियल वॉलेट क्या होता है?

नॉन-कस्टोडियल वॉलेट एक ब्लॉकचेन वॉलेट होता है जिसमें वॉलेट मालिक का पूरा नियंत्रण होता है और निजी कुंजी उसी के पास सुरक्षित रहती है। नॉन-कस्टोडियल वॉलेट को दो तरीकों से बनाया और एक्सेस किया जा सकता है: निजी कुंजी (एक अल्फ़ान्यूमेरिक स्ट्रिंग) का उपयोग करके या मेमोनिक सीड फ्रेज़ का उपयोग करके, जो वॉलेट मालिक के पास संग्रहीत 12-24 शब्दों का एक वाक्यांश होता है (आमतौर पर इसे लिखकर इंटरनेट और कंप्यूटर से दूर किसी सुरक्षित स्थान पर रखा जाता है)।

नॉन-कस्टोडियल वॉलेट के कुछ फायदे निम्नलिखित हैं:

  • स्वायत्तता - उपयोगकर्ता अपने धन पर पूर्ण नियंत्रण रखते हैं - क्योंकि उपयोगकर्ता ही एकमात्र ऐसी इकाई है जिसके पास अपने धन का पूर्ण नियंत्रण होता है। उन्हें अपने वॉलेट के प्रबंधन या सुरक्षा के लिए किसी तीसरे पक्ष पर निर्भर नहीं रहना पड़ता।
  • सुरक्षा - चूंकि उपयोगकर्ता अपनी निजी कुंजियों को इंटरनेट या किसी भी कंप्यूटर से दूर रखते हैं, इसलिए सुरक्षा उल्लंघन की संभावना लगभग नगण्य है।
  • तत्काल निकासी - नॉन-कस्टोडियल वॉलेट के साथ, उपयोगकर्ताओं को अपनी निकासी अनुरोध की पुष्टि के लिए किसी तीसरे पक्ष पर निर्भर नहीं रहना पड़ता है। इससे पूरी प्रक्रिया सरल हो जाती है और तत्काल निकासी संभव हो पाती है।

नॉन-कस्टोडियल वॉलेट बनाम कस्टोडियल वॉलेट

और भी वीडियो देखने के लिए हमारे यूट्यूब चैनल को सब्सक्राइब करें!
  • निजी कुंजी का संरक्षक - क्रिप्टो वॉलेट की तुलना करते समय विचार करने वाला सबसे महत्वपूर्ण कारक निजी कुंजी का स्वामित्व है। गैर-संरक्षक वॉलेट के मामले में, उपयोगकर्ता के पास निजी कुंजी का संरक्षण होता है। संरक्षक वॉलेट में, एक तृतीय पक्ष (आमतौर पर वॉलेट प्रदाता या एक्सचेंज) निजी कुंजी को नियंत्रित करता है।
  • लेनदेन का प्रकार - नॉन-कस्टोडियल वॉलेट द्वारा किए गए लेनदेन तुरंत ऑन-चेन दिखाई देते हैं। इसके विपरीत, कस्टोडियल वॉलेट द्वारा किए गए लेनदेन को तृतीय पक्ष द्वारा विभिन्न जांचों से गुजरना पड़ता है और इनमें विलंब की संभावना रहती है।
  • सुरक्षा - नॉन-कस्टोडियल वॉलेट में, उपयोगकर्ता की निजी कुंजी स्थानीय रूप से संग्रहीत होती है। यह वॉलेट तब तक बेहद सुरक्षित रहता है जब तक उपयोगकर्ता निजी कुंजी साझा न करे या डिवाइस चोरी न हो जाए। कस्टोडियल वॉलेट में, निजी कुंजी जैसे सभी संवेदनशील उपयोगकर्ता डेटा हॉट डेटा स्टोरेज (तुरंत अपडेट होने वाला) और कोल्ड डेटा स्टोरेज (समय-समय पर अपडेट होने वाला) पर संग्रहीत होते हैं, जो आमतौर पर हैकिंग के प्रति संवेदनशील होते हैं।
  • ऑफ़लाइन पहुँच - नॉन-कस्टोडियल वॉलेट को सक्रिय रूप से इंटरनेट कनेक्शन की आवश्यकता नहीं होती है। कस्टोडियल वॉलेट को इंटरनेट कनेक्शन की आवश्यकता होती है क्योंकि डेटा आमतौर पर एक केंद्रीकृत सर्वर पर संग्रहीत होता है।
  • बैकअप और रिकवरी - नॉन-कस्टोडियल वॉलेट की एकमात्र कमी यह है कि एक बार प्राइवेट की/मेमोनिक सीड खो जाने पर वॉलेट को रिकवर करने का कोई तरीका नहीं होता है। इसके विपरीत, कस्टोडियल वॉलेट उपयोगकर्ता रिकवरी के लिए किसी तीसरे पक्ष से अनुरोध कर सकते हैं।

एक गैर-अभिरक्षित नोड का उपयोग करना

Quicknode में, हम विश्व स्तर पर कई नोड्स संचालित करते हैं। ये सभी नोड्स निरंतर इंटरनेट से जुड़े रहते हैं और गतिशील होते हैं। Quicknode API शक्तिशाली नोड्स के एक वैश्विक नेटवर्क से जुड़ा है। ये नोड्स हमेशा किसी एक इंफ्रास्ट्रक्चर घटक से जुड़े नहीं होते हैं। API को बेहतर स्थिरता और अपटाइम सुनिश्चित करने के लिए एकल इंफ्रास्ट्रक्चर घटकों के बीच गतिशील स्विच करने के लिए डिज़ाइन किया गया है। इस कारण किसी भी संवेदनशील डेटा को नोड्स पर संग्रहीत करना आदर्श नहीं है क्योंकि वे निरंतर परिवर्तनशील होते हैं। इसमें सुरक्षा का पहलू भी है क्योंकि ये नोड्स इंटरनेट से जुड़े होते हैं। हम अपने उपयोगकर्ताओं के डेटा की सुरक्षा के लिए उन्हें निजी कुंजी संग्रहीत करने की अनुमति नहीं देते हैं। गतिशील होने के कारण, वे बेहतर प्रदर्शन प्रदान करने के लिए अक्सर अपनी स्थिति बदलते रहते हैं। इसका अर्थ है कि कुंजी खो सकती है, जिसके परिणामस्वरूप उपयोगकर्ता का डेटा खो सकता है। यही कारण थे कि हमने नॉन-कस्टोडियल नोड्स का संचालन किया और अपने उपयोगकर्ताओं को उनके वॉलेट का एकमात्र नियंत्रक बनाया। आने वाले अनुभागों में, हम देखेंगे कि लाइब्रेरी का उपयोग करके वॉलेट कैसे बनाया जाता है, नॉन-कस्टोडियल लेनदेन कैसे किया जाता है और Quicknode का उपयोग करके इसे कैसे भेजा जाता है।

अपना क्विकनोड एथेरियम एंडपॉइंट सेट अप करें

आज के हमारे उद्देश्य के लिए हम लगभग किसी भी एथेरियम क्लाइंट का उपयोग कर सकते हैं, जैसे कि Geth या OpenEthereum (जिसे पहले Parity के नाम से जाना जाता था)। चूंकि लेन-देन भेजने के लिए यह प्रक्रिया थोड़ी जटिल है, इसलिए हम यहां एक निःशुल्क Quicknode खाता बनाएंगे और आसानी से एक एथेरियम एंडपॉइंट जेनरेट करेंगे। हम ट्रांसफर करने के लिए Kovan टेस्ट चेन का उपयोग करेंगे। अपना निःशुल्क एथेरियम एंडपॉइंट बनाने के बाद, अपने HTTP प्रोवाइडर URL को कॉपी करें:

HTTP लिंक और WSS के साथ Quicknode Ethereum एंडपॉइंट के 'गेटिंग स्टार्टेड' पेज का स्क्रीनशॉट

 

आपको बाद में इसकी आवश्यकता पड़ेगी, इसलिए इसे कॉपी करके सेव कर लें।

एक वॉलेट बनाना और कुछ परीक्षण ETH प्राप्त करना

वॉलेट बनाने के लिए हम उपलब्ध वेब3 लाइब्रेरी में से किसी का भी उपयोग कर सकते हैं। आज हम ट्रांजैक्शन साइन करने और भेजने के लिए जावास्क्रिप्ट लाइब्रेरी ethers.js का उपयोग करके वॉलेट बनाएंगे। आप Go / Python / Ruby / PHP में एथेरियम वॉलेट बनाने के लिए हमारे गाइड भी देख सकते हैं।

हम npm (नोड पैकेज मैनेजर) का उपयोग करके ethers को इंस्टॉल करेंगे, जो node.js के साथ आता है। अपना cmd/टर्मिनल खोलें और यह जांचने के लिए निम्न कमांड टाइप करें कि node.js इंस्टॉल है या नहीं:

नोड -v 

इससे node.js का इंस्टॉल किया गया वर्शन पता चलेगा; यदि इंस्टॉल नहीं है, तो node.js का LTS वर्शन इसकी आधिकारिक वेबसाइट से डाउनलोड करें।

चलिए अपने प्रोजेक्ट के लिए एक नई डायरेक्टरी बनाते हैं, और उस डायरेक्टरी को cmd/टर्मिनल में अपनी वर्तमान वर्किंग डायरेक्टरी बनाते हैं:

mkdir noncusTransaction
सीडी नॉनकस लेनदेन

अब निम्न कमांड टाइप करके ईथर इंस्टॉल करें:

npm i ethers@5.7

सुनिश्चित करें कि आप Ethers.js का संस्करण 5.7 स्थापित कर रहे हैं।

इस चरण में सबसे आम समस्या `node-gyp` में आंतरिक खराबी है। आप यहां दिए गए node-gyp इंस्टॉलेशन निर्देशों का पालन कर सकते हैं।

नोट : यदि आपको नोड-जीवाईपी की समस्या आती है, तो आपको अपने पायथन संस्करण को ऊपर दिए गए निर्देशों में सूचीबद्ध संगत संस्करणों में से किसी एक से मेल खाना होगा। 

एक और आम समस्या है कैश का पुराना हो जाना; अपने npm कैश को साफ़ करने के लिए बस नीचे दिए गए कमांड को अपने cmd/टर्मिनल में टाइप करें:

npm कैश साफ़ करें

यदि सब कुछ ठीक रहा, तो ethers.js आपके सिस्टम पर इंस्टॉल हो जाएगा।

अब, एक टेक्स्ट एडिटर खोलें और transaction.js नाम से एक नई जावास्क्रिप्ट फ़ाइल बनाएं। नीचे दिए गए कोड को फ़ाइल में कॉपी-पेस्ट करें।

var ईथर = आवश्यकता ( 'ईथर' ) ;  
var privateKey = "0x01111111111111111111222222222222222233333333333333333333344445" ;
var wallet = नया ईथर . वॉलेट ( निजी कुंजी ) ;
कंसोल.लॉग ( " पता : " ) + वॉलेट . पता ) ;

ऊपर दिए गए कोड की व्याख्या:

पंक्ति 1: ईथर्स लाइब्रेरी आयात करना।

पंक्ति 2: प्राइवेट की को 'प्राइवेट की' नामक वेरिएबल में स्टोर करें। अपनी खुद की प्राइवेट की प्राप्त करना सुनिश्चित करें। जावास्क्रिप्ट का उपयोग करके प्राइवेट की जनरेट करने के लिए इस गाइड का अनुसरण करके आप इसे जनरेट करना सीख सकते हैं।

नोट : यदि आप अपना कोड इंटरनेट पर डालते हैं (जैसे कि किसी सार्वजनिक GitHub रिपॉजिटरी पर), तो निजी कुंजी को .env फ़ाइल में संग्रहित करना और इसे अपने मुख्य कोड में पर्यावरण चर के माध्यम से आयात करना हमेशा एक अच्छी प्रथा है। 

पंक्ति 3: निजी कुंजी का उपयोग करके एक नया वॉलेट पता बनाना और उसे वॉलेट नामक चर में संग्रहीत करना।

पंक्ति 4: वॉलेट पते को एक स्ट्रिंग के साथ प्रिंट करना।

अब, फ़ाइल को सेव करें और स्क्रिप्ट को रन करें।

नोड लेनदेन

इसे ऐसा दिखना चाहिए।

अब, लेन-देन के दौरान भेजने और गैस शुल्क का भुगतान करने के लिए कुछ टेस्ट ETH प्राप्त कर लेते हैं। आउटपुट से पता कॉपी करें, कोवन फ़ॉसेट पर जाएं, GitHub या GitLab से लॉगिन करें, वॉलेट का पता फ़ॉसेट के टेक्स्ट फ़ील्ड में पेस्ट करें, फिर "मुझे KETH भेजें!" पर क्लिक करें।

आप Kovan Etherscan में पता पेस्ट करके यह जांच सकते हैं कि आपको टेस्ट ETH प्राप्त हुआ है या नहीं, और आपको ETH बैलेंस दिखाई देगा।

गैर-अभिरक्षित लेनदेन भेजना

आइए पहले बनाए गए वॉलेट का उपयोग करके एक टोकन ट्रांसफर लेनदेन बनाएं और क्विकनोड का उपयोग करके लेनदेन को चेन पर भेजें।

अपनी transaction.js फ़ाइल को निम्नानुसार अपडेट करें:

var ethers = require('ethers');  
var url = ''ADD_YOUR_ETHEREUM_NODE_URL'';
var customHttpProvider = new ethers.providers.JsonRpcProvider(url);
var privateKey = "0x0111111111111111111122222222222222222223333333333333333333344445";
var wallet = new ethers.Wallet(privateKey);
console.log("Address: " + wallet.address);
tx = {
to: "0x6E0d01A76C3Cf4288372a29124A26D4353EE51BE",
value: ethers.utils.parseEther("0.05"),
chainId: 42,
nonce: 11
}
customHttpProvider.estimateGas(tx).then(function(estimate) {
tx.gasLimit = estimate;
tx.gasPrice = ethers.utils.parseUnits("3.14085197", "gwei");
wallet.signTransaction(tx).then((signedTX)=>{
customHttpProvider.sendTransaction(signedTX).then(console.log);
});
});

इसलिए, ऊपर दिए गए अनुभाग से HTTP प्रदाता के साथ ` ADD_YOUR_ETHEREUM_NODE_URL` को बदलें।

ऊपर दिए गए कोड की व्याख्या।

पंक्ति 1: ईथर्स लाइब्रेरी आयात करना।

पंक्ति 2: हमारे क्विकनोड यूआरएल को यूआरएल वेरिएबल में संग्रहीत करना।

पंक्ति 3: नए ईथर प्रदाता को स्थापित करना और इसे कस्टमएचटीटीपीप्रोवाइडर नामक चर में संग्रहीत करना।

पंक्ति 4: निजी कुंजी को privateKey वेरिएबल में संग्रहीत करना (आपको अपनी निजी कुंजी उत्पन्न करनी होगी)।

पंक्ति 5: निजी कुंजी से एक नया वॉलेट बनाना।

पंक्ति 6: वॉलेट पते को एक स्ट्रिंग के साथ प्रिंट करना।

पंक्ति 7-12: हमारे ट्रांज़ैक्शन ऑब्जेक्ट को आरंभ करना, और 'to' जैसे पैरामीटर प्रदान करना, जिसमें प्राप्तकर्ता का पता होता है (वह पता जिस पर ट्रांज़ैक्शन भेजा जाना है)। दूसरा, 'value' जिसमें स्थानांतरित किए जाने वाले ETH का मूल्य होता है। तीसरा, 'chainId' चेन का नेटवर्क आईडी है (यहाँ 42 है क्योंकि हम कोवन टेस्टनेट का उपयोग कर रहे हैं)। अंत में, 'nonce' जो प्रेषक द्वारा भेजे गए ट्रांज़ैक्शन की संख्या है। यहाँ मान हमेशा पिछले ट्रांज़ैक्शन की संख्या +1 होना चाहिए।

 हम ethers.js के getTransactionCount() मेथड का उपयोग करके किसी दिए गए पते के लिए नॉनस भी प्राप्त कर सकते हैं।

पंक्ति 13-14: प्रदाता का उपयोग करके गैस का अनुमान लगाना , फिर इसे लेनदेन ऑब्जेक्ट के gasLimit चर में संग्रहीत करना।

पंक्ति 15: गैस की कीमत निर्धारित करना और इसे लेनदेन के gasPrice चर में संग्रहीत करना।

पंक्ति 16: वॉलेट का उपयोग करके लेनदेन पर हस्ताक्षर करना।

पंक्ति 17: प्रदाता का उपयोग करके हस्ताक्षरित लेनदेन भेजना और लेनदेन विवरण को कंसोल पर प्रिंट करना।

फ़ाइल को सेव करें और इसे निम्न कमांड का उपयोग करके चलाएं:

नोड लेनदेन

इसका आउटपुट कुछ इस तरह का होगा:

लेनदेन का हैश कॉपी करें और यह जांचने के लिए कि यह पुष्टि हुई है या नहीं, इसे कोवन एथर्सकैन के सर्च बार में पेस्ट करें।

निष्कर्ष

आपने बिना किसी सुरक्षा खाते के लेन-देन किया है और अब आप अपने फंड के एकमात्र नियंत्रक हैं। अपनी निजी कुंजी कभी भी किसी के साथ साझा न करें; अपने बटुए और फंड की बेहतर सुरक्षा के लिए इसे हमेशा सुरक्षित स्थान पर रखें।

एथेरियम पर और भी लेख और गाइड पाने के लिए हमारे न्यूज़लेटर को सब्सक्राइब करें। आप हमें ट्विटर और डिस्कॉर्ड कम्युनिटी सर्वर पर भी फॉलो कर सकते हैं, जहाँ आपको कुछ बेहतरीन डेवलपर्स मिलेंगे :)

हमें आपकी प्रतिक्रिया बहुत पसंद है!

अगर आपके पास कोई सुझाव या नए विषयों के लिए कोई अनुरोध हो तो हमें जरूर बताएं । हमें आपसे सुनना अच्छा लगेगा।

इस गाइड को साझा करें