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

JavaScript API लाइब्रेरी

किसी वेब ऐप को इथेरियम ब्लॉकचेन के साथ इंटरैक्ट करने (यानी, ब्लॉकचेन डेटा पढ़ने और/या नेटवर्क पर लेन-देन भेजने) के लिए, उसे एक इथेरियम नोड से कनेक्ट होना चाहिए।

इस उद्देश्य के लिए, प्रत्येक इथेरियम क्लाइंट जेसन-आरपीसी विनिर्देश को लागू करता है, इसलिए तरीकों (methods) का एक समान सेट है जिस पर एप्लिकेशन भरोसा कर सकते हैं।

यदि आप इथेरियम नोड से जुड़ने के लिए JavaScript का उपयोग करना चाहते हैं, तो वैनिला JavaScript का उपयोग करना संभव है, लेकिन इकोसिस्टम के भीतर कई सुविधाजनक लाइब्रेरी मौजूद हैं जो इसे बहुत आसान बनाती हैं। इन लाइब्रेरी के साथ, डेवलपर्स इथेरियम के साथ इंटरैक्ट करने वाले जेसन-आरपीसी अनुरोधों को (आंतरिक रूप से) आरंभ करने के लिए सहज, एक-पंक्ति वाले तरीके लिख सकते हैं।

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

पूर्वापेक्षाएँ

JavaScript को समझने के साथ-साथ, इथेरियम स्टैक और इथेरियम क्लाइंट को समझना मददगार हो सकता है।

लाइब्रेरी का उपयोग क्यों करें?

ये लाइब्रेरी सीधे इथेरियम नोड के साथ इंटरैक्ट करने की अधिकांश जटिलता को दूर करती हैं। वे उपयोगिता फ़ंक्शन (उदा., ETH को Gwei में बदलना) भी प्रदान करती हैं ताकि एक डेवलपर के रूप में आप इथेरियम क्लाइंट की पेचीदगियों से निपटने में कम समय बिता सकें और अपने एप्लिकेशन की अनूठी कार्यक्षमता पर अधिक ध्यान केंद्रित कर सकें।

लाइब्रेरी की विशेषताएँ

इथेरियम नोड से जुड़ें

प्रदाताओं (providers) का उपयोग करके, ये लाइब्रेरी आपको इथेरियम से जुड़ने और उसका डेटा पढ़ने की अनुमति देती हैं, चाहे वह जेसन-आरपीसी, 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 डेटा को अनुक्रमित (indexing) करने और GraphQL का उपयोग करके इसे क्वेरी करने के लिए एक प्रोटोकॉल।

Alchemy SDK - उन्नत API के साथ Ethers.js के चारों ओर रैपर।

viem - इथेरियम के लिए TypeScript इंटरफ़ेस।

Codex - दर्जनों चेन में रीयल-टाइम, समृद्ध ब्लॉकचेन डेटा API।

Drift - अंतर्निहित कैशिंग, हुक और टेस्ट मॉक्स के साथ TypeScript मेटा-लाइब्रेरी।

आगे की पढ़ाई

क्या आप किसी ऐसे सामुदायिक संसाधन के बारे में जानते हैं जिसने आपकी मदद की? इस पेज को संपादित करें और इसे जोड़ें!

ट्यूटोरियल: इथेरियम पर JavaScript API और WebSockets

  • WebSockets का उपयोग करना – इथेरियम घटनाओं की सदस्यता लेने और रीयल-टाइम जेसन-आरपीसी अनुरोध करने के लिए Alchemy के साथ WebSockets का उपयोग कैसे करें।