प्रमुख मजकुराकडे जा

जावास्क्रिप्टमध्ये इथेरियम ब्लॉकचेन वापरण्यासाठी web3.js सेट अप करा

web3.js
javascript
नवशिक्या
jdourlens
११ एप्रिल, २०२०
3 मिनिट वाचन

या ट्युटोरियलमध्ये, आपण इथेरियम ब्लॉकचेनसोबत संवाद साधण्यासाठी web3.js (opens in a new tab) सोबत सुरुवात कशी करायची ते पाहू. Web3.js चा वापर ब्लॉकचेनमधून डेटा वाचण्यासाठी किंवा व्यवहार करण्यासाठी आणि स्मार्ट कॉन्ट्रॅक्ट्स तैनात करण्यासाठी सुद्धा फ्रंटएंड आणि बॅकएंड दोन्हीमध्ये केला जाऊ शकतो.

तुमच्या प्रोजेक्टमध्ये web3.js समाविष्ट करणे ही पहिली पायरी आहे. वेब पेजमध्ये वापरण्यासाठी, तुम्ही JSDeliver सारख्या CDN चा वापर करून थेट लायब्ररी आयात करू शकता.

1<script src="https://cdn.jsdelivr.net/npm/web3@latest/dist/web3.min.js"></script>

जर तुम्ही तुमच्या बॅकएंडमध्ये किंवा बिल्ड वापरणाऱ्या फ्रंटएंड प्रोजेक्टमध्ये वापरण्यासाठी लायब्ररी इन्स्टॉल करण्यास प्राधान्य देत असाल तर तुम्ही ते npm वापरून इन्स्टॉल करू शकता:

npm install web3 --save

मग Node.js स्क्रिप्ट किंवा Browserify फ्रंटएंड प्रोजेक्टमध्ये Web3.js आयात करण्यासाठी, तुम्ही जावास्क्रिप्टची खालील ओळ वापरू शकता:

1const Web3 = require("web3")

आता आपण लायब्ररी प्रोजेक्टमध्ये समाविष्ट केली असल्यामुळे, आपल्याला ती सुरू करणे आवश्यक आहे. तुमचा प्रोजेक्ट ब्लॉकचेनसोबत संवाद साधण्यास सक्षम असणे आवश्यक आहे. बहुतेक इथेरियम लायब्ररी RPC कॉल्सद्वारे नोड सोबत संवाद साधतात. आमचा Web3 प्रदाता सुरू करण्यासाठी, आम्ही कन्स्ट्रक्टरला प्रदात्याचा URL पास करून एक Web3 इन्स्टन्स तयार करू. जर तुमच्या संगणकावर नोड किंवा गनाश इन्स्टन्स चालू असेल (opens in a new tab), तर ते असे दिसेल:

1const web3 = new Web3("http://localhost:8545")

तुम्हाला होस्ट केलेल्या नोडवर थेट प्रवेश करायचा असल्यास, तुम्ही नोड्स अॅज अ सर्व्हिस वर पर्याय शोधू शकता.

1const web3 = new Web3("https://cloudflare-eth.com")

आपण आपला Web3 इन्स्टन्स योग्यरित्या कॉन्फिगर केला आहे की नाही हे तपासण्यासाठी, आपण getBlockNumber फंक्शन वापरून नवीनतम ब्लॉक नंबर मिळवण्याचा प्रयत्न करू. हे फंक्शन पॅरामीटर म्हणून कॉलबॅक स्वीकारते आणि ब्लॉक नंबर पूर्णांक म्हणून परत करते.

1var Web3 = require("web3")
2const web3 = new Web3("https://cloudflare-eth.com")
3
4web3.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 latestBlockNumber
5}
6
7getBlockNumber()

तुम्ही Web3 इन्स्टन्सवर उपलब्ध असलेली सर्व फंक्शन्स अधिकृत web3.js डॉक्युमेंटेशन (opens in a new tab) मध्ये पाहू शकता.

बहुतेक Web3 लायब्ररी असिंक्रोनस आहेत कारण बॅकग्राउंडमध्ये लायब्ररी नोडला JSON-RPC कॉल्स करते, जो निकाल परत पाठवतो.

जर तुम्ही ब्राउझरमध्ये काम करत असाल, तर काही वॉलेट्स थेट Web3 इन्स्टन्स इंजेक्ट करतात आणि शक्य असेल तेव्हा तुम्ही ते वापरण्याचा प्रयत्न केला पाहिजे, विशेषतः जर तुम्ही व्यवहार करण्यासाठी वापरकर्त्याच्या इथेरियम अॅड्रेससोबत संवाद साधण्याची योजना करत असाल.

MetaMask वॉलेट उपलब्ध आहे की नाही हे शोधण्यासाठी आणि असल्यास ते सक्षम करण्याचा प्रयत्न करण्यासाठी येथे स्निपेट आहे. हे तुम्हाला नंतर वापरकर्त्याची शिल्लक वाचण्याची परवानगी देईल आणि त्यांना इथेरियम ब्लॉकचेनवर तुम्ही त्यांच्याकडून करून घेऊ इच्छिणारे व्यवहार प्रमाणित करण्यास सक्षम करेल:

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}
सर्व दाखवा

Ethers.js (opens in a new tab) सारखे web3.js चे पर्याय अस्तित्वात आहेत आणि ते सामान्यतः वापरले जातात. पुढील ट्युटोरियलमध्ये आपण ब्लॉकचेनवरील नवीन येणारे ब्लॉक्स सहजपणे कसे ऐकायचे आणि त्यात काय आहे ते कसे पाहायचे (opens in a new tab) हे पाहू.

पृष्ठ अखेरचे अद्यतन: २१ ऑगस्ट, २०२५

हे मार्गदर्शन उपयुक्त होते का?