जावास्क्रिप्ट में एथेरियम ब्लॉकचेन का उपयोग करने के लिए web3.js सेट अप करें
इस ट्यूटोरियल में, हम देखेंगे कि एथेरियम ब्लॉकचेन के साथ इंटरैक्ट करने के लिए web3.js (opens in a new tab) के साथ कैसे शुरुआत करें। वेब3.जेएस का उपयोग फ्रंटएंड और बैकएंड दोनों में ब्लॉकचेन से डेटा पढ़ने या लेनदेन करने और यहां तक कि स्मार्ट अनुबंध डिप्लॉय करने के लिए भी किया जा सकता है।
पहला कदम अपने प्रोजेक्ट में web3.js को शामिल करना है। इसे वेब पेज में उपयोग करने के लिए, आप JSDeliver जैसे CDN का उपयोग करके सीधे लाइब्रेरी को आयात कर सकते हैं।
1<script src="https://cdn.jsdelivr.net/npm/web3@latest/dist/web3.min.js"></script>यदि आप अपने बैकएंड या बिल्ड का उपयोग करने वाले फ्रंटएंड प्रोजेक्ट में उपयोग के लिए लाइब्रेरी इंस्टॉल करना पसंद करते हैं तो आप इसे npm का उपयोग करके इंस्टॉल कर सकते हैं:
npm install web3 --saveफिर वेब3.जेएस को नोड.जेएस स्क्रिप्ट या Browserify फ्रंटएंड प्रोजेक्ट में आयात करने के लिए, आप जावास्क्रिप्ट की निम्न पंक्ति का उपयोग कर सकते हैं:
1const Web3 = require("web3")अब जब हमने प्रोजेक्ट में लाइब्रेरी को शामिल कर लिया है तो हमें इसे शुरू करने की आवश्यकता है। आपके प्रोजेक्ट को ब्लॉकचेन के साथ संचार करने में सक्षम होना चाहिए। अधिकांश एथेरियम लाइब्रेरी RPC कॉल के माध्यम से नोड के साथ संचार करती हैं। हमारे वेब3 प्रदाता को शुरू करने के लिए, हम प्रदाता के URL को कंस्ट्रक्टर के रूप में पास करके एक वेब3 इंस्टेंस को इंस्टैंशिएट करेंगे। यदि आपके कंप्यूटर पर कोई नोड या गनाचे इंस्टेंस चल रहा है (opens in a new tab), तो यह इस तरह दिखेगा:
1const web3 = new Web3("http://localhost:8545")यदि आप सीधे होस्टेड नोड का उपयोग करना चाहते हैं, तो आप नोड्स ऐज़ अ सर्विस पर विकल्प पा सकते हैं।
1const web3 = new Web3("https://cloudflare-eth.com")यह परीक्षण करने के लिए कि हमने अपने वेब3 इंस्टेंस को सही ढंग से कॉन्फ़िगर किया है, हम getBlockNumber फ़ंक्शन का उपयोग करके नवीनतम ब्लॉक नंबर प्राप्त करने का प्रयास करेंगे। यह फ़ंक्शन एक पैरामीटर के रूप में कॉलबैक स्वीकार करता है और एक पूर्णांक के रूप में ब्लॉक नंबर लौटाता है।
1var Web3 = require("web3")2const web3 = new Web3("https://cloudflare-eth.com")34web3.eth.getBlockNumber(function (error, result) {5 console.log(result)6})यदि आप इस प्रोग्राम को निष्पादित करते हैं, तो यह बस नवीनतम ब्लॉक नंबर प्रिंट करेगा: ब्लॉकचेन का शीर्ष। आप अपने कोड में कॉलबैक नेस्टिंग से बचने के लिए await/async फ़ंक्शन कॉल का भी उपयोग कर सकते हैं:
1async function getBlockNumber() {2 const latestBlockNumber = await web3.eth.getBlockNumber()3 console.log(latestBlockNumber)4 return latestBlockNumber5}67getBlockNumber()आप आधिकारिक web3.js प्रलेखन (opens in a new tab) में वेब3 इंस्टेंस पर उपलब्ध सभी फ़ंक्शन देख सकते हैं।
अधिकांश वेब3 लाइब्रेरी एसिंक्रोनस हैं क्योंकि बैकग्राउंड में लाइब्रेरी नोड पर JSON-RPC कॉल करती है जो परिणाम वापस भेजती है।
यदि आप ब्राउज़र में काम कर रहे हैं, तो कुछ वॉलेट सीधे एक वेब3 इंस्टेंस इंजेक्ट करते हैं और आपको जब भी संभव हो इसका उपयोग करने का प्रयास करना चाहिए, खासकर यदि आप लेनदेन करने के लिए उपयोगकर्ता के एथेरियम पते के साथ इंटरैक्ट करने की योजना बनाते हैं।
यह पता लगाने के लिए कि मेटामास्क वॉलेट उपलब्ध है या नहीं और यदि है तो इसे सक्षम करने का प्रयास करने के लिए स्निपेट यहां दिया गया है। यह बाद में आपको उपयोगकर्ता की शेष राशि को पढ़ने और उन्हें उन लेन-देनों को मान्य करने में सक्षम करेगा जो आप उनसे एथेरियम ब्लॉकचेन पर करवाना चाहेंगे:
1if (window.ethereum != null) {2 state.web3 = new Web3(window.ethereum)3 try {4 // यदि आवश्यक हो तो खाते की पहुंच का अनुरोध करें5 await window.ethereum.enable()6 // खाते अब उजागर हो गए हैं7 } catch (error) {8 // उपयोगकर्ता ने खाते तक पहुंच से इनकार कर दिया...9 }10}सभी दिखाएँईथर्स.जेएस (opens in a new tab) जैसे web3.js के विकल्प मौजूद हैं और आमतौर पर उपयोग किए जाते हैं। अगले ट्यूटोरियल में हम देखेंगे कि ब्लॉकचेन पर नए आने वाले ब्लॉकों को आसानी से कैसे सुनें और देखें कि उनमें क्या है (opens in a new tab)।
पेज का अंतिम अपडेट: 3 मार्च 2026