मुख्य आशयावर जा
Change page

JavaScript API लायब्ररीज्

वेब ॲपला इथेरियम ब्लॉकचेनशी संवाद साधण्यासाठी (म्हणजेच, ब्लॉकचेन डेटा वाचण्यासाठी आणि/किंवा नेटवर्कवर व्यवहार पाठवण्यासाठी), ते इथेरियम नोडशी कनेक्ट केलेले असणे आवश्यक आहे.

या उद्देशासाठी, प्रत्येक इथेरियम क्लायंट जेसॉन-आरपीसी स्पेसिफिकेशन लागू करतो, त्यामुळे ॲप्लिकेशन्स अवलंबून राहू शकतील अशा पद्धतींचा (methods) एक समान संच उपलब्ध आहे.

जर तुम्हाला इथेरियम नोडशी कनेक्ट करण्यासाठी JavaScript वापरायचे असेल, तर व्हॅनिला JavaScript वापरणे शक्य आहे परंतु इकोसिस्टममध्ये अनेक सोयीस्कर लायब्ररीज् अस्तित्वात आहेत ज्या हे काम खूप सोपे करतात. या लायब्ररीजच्या मदतीने, डेव्हलपर्स इथेरियमशी संवाद साधणाऱ्या जेसॉन-आरपीसी विनंत्या (अंतर्गतपणे) सुरू करण्यासाठी अंतर्ज्ञानी, एका ओळीच्या पद्धती लिहू शकतात.

कृपया नोंद घ्या की द मर्ज पासून, नोड चालवण्यासाठी इथेरियम सॉफ्टवेअरचे दोन जोडलेले भाग - एक अंमलबजावणी क्लायंट आणि एक सहमती क्लायंट - आवश्यक आहेत. कृपया खात्री करा की तुमच्या नोडमध्ये अंमलबजावणी आणि सहमती क्लायंट दोन्ही समाविष्ट आहेत. जर तुमचा नोड तुमच्या स्थानिक मशीनवर नसेल (उदा. तुमचा नोड AWS इन्स्टन्सवर चालत असेल) तर ट्युटोरियलमधील IP पत्ते त्यानुसार अपडेट करा. अधिक माहितीसाठी कृपया नोड चालवणे वरील आमचे पेज पहा.

पूर्वअटी

JavaScript समजून घेण्यासोबतच, इथेरियम स्टॅक आणि इथेरियम क्लायंट्स समजून घेणे उपयुक्त ठरू शकते.

लायब्ररी का वापरावी?

या लायब्ररीज् थेट इथेरियम नोडशी संवाद साधण्याची बरीचशी गुंतागुंत दूर करतात. त्या युटिलिटी फंक्शन्स देखील प्रदान करतात (उदा. ETH चे Gwei मध्ये रूपांतर करणे) जेणेकरून एक डेव्हलपर म्हणून तुम्ही इथेरियम क्लायंट्सच्या गुंतागुंती हाताळण्यात कमी वेळ घालवू शकता आणि तुमच्या ॲप्लिकेशनच्या अद्वितीय कार्यक्षमतेवर अधिक लक्ष केंद्रित करू शकता.

लायब्ररीची वैशिष्ट्ये

इथेरियम नोड्सशी कनेक्ट करा

प्रोव्हायडर्सचा वापर करून, या लायब्ररीज् तुम्हाला इथेरियमशी कनेक्ट करण्याची आणि त्याचा डेटा वाचण्याची परवानगी देतात, मग ते जेसॉन-आरपीसी, Infura, Etherscan, Alchemy किंवा मेटामास्क द्वारे असो.

चेतावणी: Web3.js 4 मार्च 2025 रोजी संग्रहित (archived) केले गेले. घोषणा वाचा (opens in a new tab). नवीन प्रकल्पांसाठी ethers.js (opens in a new tab) किंवा viem (opens in a new tab) सारख्या पर्यायी लायब्ररीज् वापरण्याचा विचार करा.

Ethers चे उदाहरण

// BrowserProvider एका मानक Web3 प्रोव्हायडरला रॅप करतो, जे
// मेटामास्क प्रत्येक पेजमध्ये window.ethereum म्हणून इंजेक्ट करते
const provider = new ethers.BrowserProvider(window.ethereum)

// मेटामास्क प्लगइन ट्रान्झॅक्शन्स साईन करण्याची देखील परवानगी देते जेणेकरून
// इथर पाठवता येईल आणि ब्लॉकचेनमध्ये स्टेट बदलण्यासाठी पैसे देता येतील.
// यासाठी, आपल्याला अकाउंट सायनरची आवश्यकता आहे...
const signer = provider.getSigner()

Web3js चे उदाहरण

एकदा सेट अप केल्यानंतर तुम्ही ब्लॉकचेनला खालील गोष्टींसाठी क्वेरी करू शकाल:

  • ब्लॉक क्रमांक
  • गॅसचे अंदाज
  • स्मार्ट कॉन्ट्रॅक्ट घटना
  • नेटवर्क आयडी
  • आणि बरेच काही...

वॉलेट कार्यक्षमता

या लायब्ररीज् तुम्हाला वॉलेट्स तयार करण्याची, कीज (keys) व्यवस्थापित करण्याची आणि व्यवहारांवर स्वाक्षरी करण्याची कार्यक्षमता देतात.

येथे Ethers मधील एक उदाहरण आहे

संपूर्ण डॉक्स वाचा (opens in a new tab)

एकदा सेट अप केल्यानंतर तुम्ही हे करू शकाल:

  • खाती तयार करणे
  • व्यवहार पाठवणे
  • व्यवहारांवर स्वाक्षरी करणे
  • आणि बरेच काही...

स्मार्ट कॉन्ट्रॅक्ट फंक्शन्सशी संवाद साधा

JavaScript क्लायंट लायब्ररीज् तुमच्या ॲप्लिकेशनला संकलित (compiled) कॉन्ट्रॅक्टचा ॲप्लिकेशन बायनरी इंटरफेस (ABI) वाचून स्मार्ट कॉन्ट्रॅक्ट फंक्शन्स कॉल करण्याची परवानगी देतात.

ABI मुळात कॉन्ट्रॅक्टची फंक्शन्स JSON फॉरमॅटमध्ये स्पष्ट करतो आणि तुम्हाला ते सामान्य JavaScript ऑब्जेक्टप्रमाणे वापरण्याची परवानगी देतो.

त्यामुळे खालील Solidity कॉन्ट्रॅक्ट:

खालील JSON मध्ये परिणामित होईल:

याचा अर्थ तुम्ही हे करू शकता:

  • स्मार्ट कॉन्ट्रॅक्टला व्यवहार पाठवणे आणि त्याची पद्धत (method) कार्यान्वित करणे
  • EVM मध्ये कार्यान्वित केल्यावर एखाद्या पद्धतीच्या अंमलबजावणीसाठी किती गॅस लागेल याचा अंदाज घेण्यासाठी कॉल करणे
  • कॉन्ट्रॅक्ट प्रस्थापित करणे
  • आणि बरेच काही...

युटिलिटी फंक्शन्स

युटिलिटी फंक्शन्स तुम्हाला उपयुक्त शॉर्टकट्स देतात जे इथेरियमसोबत बिल्डिंग करणे थोडे सोपे करतात.

ETH मूल्ये डीफॉल्टनुसार Wei मध्ये असतात. 1 ETH = 1,000,000,000,000,000,000 WEI – याचा अर्थ तुम्ही खूप मोठ्या संख्या हाताळत आहात! web3.utils.toWei तुमच्यासाठी इथरचे Wei मध्ये रूपांतर करते.

आणि ethers मध्ये ते असे दिसते:

// अकाउंटचा बॅलन्स मिळवा (ॲड्रेस किंवा ENS नावाद्वारे)
balance = await provider.getBalance("ethers.eth")
// { BigNumber: "2337132817842795605" }

// अनेकदा तुम्हाला युजरसाठी आउटपुट फॉरमॅट करावे लागेल
// ज्यांना व्हॅल्यूज Wei ऐवजी इथरमध्ये पाहणे आवडते
ethers.utils.formatEther(balance)
// '2.337132817842795605'

उपलब्ध लायब्ररीज्

Web3.js - इथेरियम JavaScript API.

Ethers.js - JavaScript आणि TypeScript मध्ये संपूर्ण इथेरियम वॉलेट अंमलबजावणी आणि युटिलिटीज.

The Graph - इथेरियम आणि IPFS डेटा इंडेक्स करण्यासाठी आणि GraphQL वापरून त्याची क्वेरी करण्यासाठी एक प्रोटोकॉल.

Alchemy SDK - वर्धित APIs सह Ethers.js भोवती रॅपर.

viem - इथेरियमसाठी TypeScript इंटरफेस.

Codex - अनेक चेन्सवरील रिअल-टाइम, समृद्ध ब्लॉकचेन डेटा API.

Drift - अंगभूत कॅशिंग, हुक्स आणि टेस्ट मॉक्ससह TypeScript मेटा-लायब्ररी.

पुढील वाचन

तुम्हाला मदत केलेल्या एखाद्या कम्युनिटी रिसोर्सबद्दल माहिती आहे का? हे पेज संपादित करा आणि ते जोडा!

ट्युटोरियल्स: इथेरियमवरील JavaScript APIs आणि WebSockets

  • WebSockets वापरणे – इथेरियम घटना सबस्क्राइब करण्यासाठी आणि रिअल-टाइम जेसॉन-आरपीसी विनंत्या करण्यासाठी Alchemy सोबत WebSockets कसे वापरावे.