Web3 और DApp विकास की मूल बातें · पाठ

प्रोवाइडर से कनेक्ट करना

RPC और वॉलेट

पाठ 1, कुल 4 में से13 चरण

प्रोवाइडर से कनेक्ट करना, CoddyKit पर Web3 और DApp विकास की मूल बातें का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Web3 और DApp विकास की मूल बातें सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Web3 और DApp विकास की मूल बातें पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

ब्लॉकचेन से संवाद करना

JavaScript से Ethereum के साथ काम करने के लिए आपको एक provider चाहिए — ऐसा ऑब्जेक्ट जो किसी नोड से जुड़ता है और आपको चेन का डेटा पढ़ने तथा लेन-देन भेजने देता है।

ethers.js और web3.js जैसी लाइब्रेरी नोड द्वारा उपयोग किए जाने वाले JSON-RPC प्रोटोकॉल को सरल रूप में उपलब्ध कराती हैं।

Providers बनाम Signers

दो प्रमुख अमूर्त अवधारणाएँ:

  • Provider — चेन से केवल-पठन कनेक्शन (शेषराशि, ब्लॉक, view कॉल)।
  • Signer — निजी कुंजी रखता है और लेन-देन पर हस्ताक्षर करके उन्हें भेज सकता है।

आप provider से पढ़ते हैं और signer से लिखते हैं।

JSON-RPC Provider

सबसे सामान्य provider Infura, Alchemy या स्थानीय नोड जैसे RPC endpoint से जुड़ता है:

const { ethers } = require("ethers"); const provider = new ethers.JsonRpcProvider( "https://mainnet.example-rpc.io/KEY" );

इसके माध्यम से आप तुरंत सार्वजनिक चेन डेटा की क्वेरी कर सकते हैं।

const { ethers } = require("ethers");
const provider = new ethers.JsonRpcProvider(
  "https://mainnet.example-rpc.io/KEY"
);

नेटवर्क की जानकारी पढ़ना

कनेक्ट होने के बाद नेटवर्क की मूल स्थिति की क्वेरी करें:

const network = await provider.getNetwork(); console.log(network.chainId); const block = await provider.getBlockNumber(); console.log("Latest block:", block);

chainId यह पहचानता है कि आप किस नेटवर्क पर हैं (1 = mainnet)।

const network = await provider.getNetwork();
console.log(network.chainId);

const block = await provider.getBlockNumber();
console.log("Latest block:", block);

शेषराशि की जाँच

provider के माध्यम से किसी खाते की ETH शेषराशि प्राप्त करें:

const balance = await provider.getBalance("0xAbc..."); console.log(ethers.formatEther(balance), "ETH");

कच्चा मान wei (एक BigInt) में होता है; formatEther इसे मनुष्यों के लिए पढ़ने योग्य ETH स्ट्रिंग में बदलता है।

const balance = await provider.getBalance("0xAbc...");
console.log(ethers.formatEther(balance), "ETH");

ब्राउज़र वॉलेट

ब्राउज़र dApp में, वॉलेट (जैसे MetaMask) window.ethereum पर एक provider उपलब्ध कराता है। इसे BrowserProvider से लपेटें:

const provider = new ethers.BrowserProvider(window.ethereum); await provider.send("eth_requestAccounts", []);

eth_requestAccounts कॉल उपयोगकर्ता से कनेक्ट करने की अनुमति माँगती है।

const provider = new ethers.BrowserProvider(window.ethereum);
await provider.send("eth_requestAccounts", []);

Signer प्राप्त करना

ब्राउज़र provider से कनेक्ट किए गए खाते का signer प्राप्त करें:

const signer = await provider.getSigner(); console.log("Connected as:", await signer.getAddress());

अब यह signer उपयोगकर्ता द्वारा अपने वॉलेट में अनुमोदित transactions भेज सकता है।

const signer = await provider.getSigner();
console.log("Connected as:", await signer.getAddress());

Private Key से Wallet बनाना

बैकएंड पर आप private key से signer बना सकते हैं। इसे provider से कनेक्ट करें, ताकि यह transaction प्रसारित कर सके:

const wallet = new ethers.Wallet( process.env.PRIVATE_KEY, provider );

कभी भी private keys को कोड में सीधे न लिखें — उन्हें environment variables से लोड करें।

const wallet = new ethers.Wallet(
  process.env.PRIVATE_KEY,
  provider
);

web3.js की तुलना

web3.js पुराना विकल्प है। इसमें कनेक्शन इस तरह बनाया जाता है:

const { Web3 } = require("web3"); const web3 = new Web3("https://mainnet.example-rpc.io/KEY"); const block = await web3.eth.getBlockNumber();

अवधारणाएँ लगभग समान हैं, लेकिन ethers.js provider और signer को अधिक साफ़ तरीके से अलग रखता है।

const { Web3 } = require("web3");
const web3 = new Web3("https://mainnet.example-rpc.io/KEY");
const block = await web3.eth.getBlockNumber();

Secrets को सुरक्षित रखना

RPC keys और private keys संवेदनशील होती हैं:

  • उन्हें .env में रखें, source control में कभी नहीं।
  • फ्रंट-एंड कोड में read-only providers का उपयोग करें।
  • Private keys केवल सुरक्षित बैकएंड या उपयोगकर्ता के अपने वॉलेट में होनी चाहिए।

Default और Fallback Providers

ethers विश्वसनीयता के लिए कई बैकएंड को मिला सकता है। fallback provider कई endpoints से पूछताछ करता है और किसी परिणाम पर सहमत होता है:

const provider = ethers.getDefaultProvider("mainnet", { alchemy: process.env.ALCHEMY_KEY, infura: process.env.INFURA_KEY, });

यदि एक बैकएंड बंद हो जाए, तो अन्य आपके ऐप को चलाते रहते हैं।

const provider = ethers.getDefaultProvider("mainnet", {
  alchemy: process.env.ALCHEMY_KEY,
  infura: process.env.INFURA_KEY,
});

त्वरित जाँच

providers और signers की अपनी समझ जाँचें।

पुनरावलोकन

आपने blockchain से कनेक्ट करना सीखा।

  • provider chain data पढ़ता है; signer transactions भेजता है।
  • JsonRpcProvider RPC URL से कनेक्ट होता है; BrowserProvider wallet injections को लपेटता है।
  • getSigner कनेक्ट किए गए खाते को लौटाता है; new Wallet(key, provider) बैकएंड पर हस्ताक्षर करता है।
  • Values wei में होती हैं; उन्हें दिखाने के लिए formatEther का उपयोग करें।
  • RPC और private keys को .env में रखें, कोड में कभी नहीं।
शुरुआत निःशुल्क

एआई शिक्षक के साथ Web3 और DApp विकास की मूल बातें सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
29
पाठ
105

अक्सर पूछे जाने वाले प्रश्न

क्या “प्रोवाइडर से कनेक्ट करना” पाठ निःशुल्क है?

हाँ — Web3 और DApp विकास की मूल बातें अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “प्रोवाइडर से कनेक्ट करना” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Web3 और DApp विकास की मूल बातें पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“प्रोवाइडर से कनेक्ट करना” में मैं क्या सीखूँगा?

RPC और वॉलेट आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Web3 और DApp विकास की मूल बातें का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Web3 और DApp विकास की मूल बातें शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Web3 और DApp विकास की मूल बातें शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“प्रोवाइडर से कनेक्ट करना” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Web3 और DApp विकास की मूल बातें पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Web3 और DApp विकास की मूल बातें पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. प्रोवाइडर से कनेक्ट करना
  2. कॉन्ट्रैक्ट डेटा पढ़ना
  3. ट्रांज़ैक्शन भेजना
  4. इवेंट सुनना
← Web3 और DApp विकास की मूल बातें पर वापस जाएँ