ప్రధాన కంటెంట్‌కి స్కిప్ చేయండి
Change page

జావాస్క్రిప్ట్ API లైబ్రరీలు

పేజీ చివరి అప్‌డేట్: 25 ఫిబ్రవరి, 2026

ఒక వెబ్ యాప్ ఇతీరియము బ్లాక్‌చెయిన్‌తో సంభాషించడానికి (అనగా, బ్లాక్‌చెయిన్ డేటాను చదవడం మరియు/లేదా నెట్‌వర్క్‌కు లావాదేవీలను పంపడం), అది తప్పనిసరిగా ఒక ఇతీరియము నోడ్‌కు కనెక్ట్ అవ్వాలి.

ఈ ప్రయోజనం కోసం, ప్రతి ఇతీరియము క్లయింట్ JSON-RPC స్పెసిఫికేషన్‌ను అమలు చేస్తుంది, కాబట్టి అప్లికేషన్‌లు ఆధారపడగల ఏకరూప పద్ధతుల సమితి ఉంది.

మీరు ఒక ఇతీరియము నోడ్‌కు కనెక్ట్ అవ్వడానికి జావాస్క్రిప్ట్ ఉపయోగించాలనుకుంటే, వనిల్లా జావాస్క్రిప్ట్‌ను ఉపయోగించడం సాధ్యమే, కానీ పర్యావరణ వ్యవస్థలో దీన్ని చాలా సులభతరం చేసే అనేక సౌలభ్య లైబ్రరీలు ఉన్నాయి. ఈ లైబ్రరీలతో, డెవలపర్లు ఇతీరియముతో సంభాషించే JSON-RPC అభ్యర్థనలను (తెరవెనుక) ప్రారంభించడానికి, స్పష్టమైన, ఒక-వరుస పద్ధతులను వ్రాయగలరు.

దయచేసి గమనించండి, ది మెర్జ్ నుండి, ఒక నోడ్‌ను అమలు చేయడానికి రెండు అనుసంధానించబడిన ఇతీరియము సాఫ్ట్‌వేర్ భాగాలు - ఒక ఎగ్జిక్యూషన్ క్లయింట్ మరియు ఒక ఏకాభిప్రాయం క్లయింట్ - అవసరం. దయచేసి మీ నోడ్‌లో ఎగ్జిక్యూషన్ మరియు ఏకాభిప్రాయం క్లయింట్లు రెండూ ఉన్నాయని నిర్ధారించుకోండి. మీ నోడ్ మీ స్థానిక మెషీన్‌లో లేకపోతే (ఉదాహరణకు, మీ నోడ్ ఒక AWS ఇన్‌స్టాన్స్‌లో నడుస్తుంటే), ట్యుటోరియల్‌లోని IP చిరునామాలను తదనుగుణంగా అప్‌డేట్ చేయండి. మరింత సమాచారం కోసం, దయచేసి ఒక నోడ్‌ను అమలు చేయడంపై మా పేజీని చూడండి.

అవసరాలు

జావాస్క్రిప్ట్‌ను అర్థం చేసుకోవడంతో పాటు, ఇతీరియము స్టాక్ మరియు ఇతీరియము క్లయింట్లును అర్థం చేసుకోవడం సహాయకరంగా ఉంటుంది.

ఒక లైబ్రరీని ఎందుకు ఉపయోగించాలి?

ఈ లైబ్రరీలు ఇతీరియము నోడ్‌తో నేరుగా సంభాషించడంలో ఉన్న సంక్లిష్టతను చాలా వరకు సంగ్రహిస్తాయి. అవి యుటిలిటీ ఫంక్షన్‌లను (ఉదా., ETHని Gweiకి మార్చడం) కూడా అందిస్తాయి, కాబట్టి డెవలపర్‌గా మీరు ఇతీరియము క్లయింట్‌ల చిక్కులతో తక్కువ సమయం గడపవచ్చు మరియు మీ అప్లికేషన్ యొక్క ప్రత్యేకమైన కార్యాచరణపై ఎక్కువ దృష్టి పెట్టవచ్చు.

లైబ్రరీ ఫీచర్లు

ఇతీరియము నోడ్‌లకు కనెక్ట్ అవ్వండి

ప్రొవైడర్లను ఉపయోగించి, ఈ లైబ్రరీలు మిమ్మల్ని ఇతీరియముకు కనెక్ట్ చేయడానికి మరియు దాని డేటాను చదవడానికి అనుమతిస్తాయి, అది JSON-RPC, INFURA, Etherscan, Alchemy లేదా MetaMask ద్వారా అయినా.

హెచ్చరిక: Web3.js మార్చి 4, 2025న ఆర్కైవ్ చేయబడింది. ప్రకటనను చదవండి (opens in a new tab). కొత్త ప్రాజెక్ట్‌ల కోసం ethers.js (opens in a new tab) లేదా viem (opens in a new tab) వంటి ప్రత్యామ్నాయ లైబ్రరీలను ఉపయోగించడాన్ని పరిగణించండి.

Ethers ఉదాహరణ

1// ఒక బ్రౌజర్‌ప్రొవైడర్ ఒక ప్రామాణిక Web3 ప్రొవైడర్‌ను చుట్టి ఉంటుంది, ఇది
2// MetaMask ప్రతి పేజీలోకి window.ethereumగా ఇంజెక్ట్ చేస్తుంది
3const provider = new ethers.BrowserProvider(window.ethereum)
4
5// MetaMask ప్లగిన్ లావాదేవీలపై సంతకం చేయడానికి కూడా అనుమతిస్తుంది
6// ఈథర్ పంపడానికి మరియు బ్లాక్‌చెయిన్‌లో స్థితిని మార్చడానికి చెల్లించడానికి.
7// దీని కోసం, మనకు ఖాతా సంతకం చేసేవారు అవసరం...
8const signer = provider.getSigner()

Web3js ఉదాహరణ

1var web3 = new Web3("http://localhost:8545")
2// లేదా
3var web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"))
4
5// ప్రొవైడర్‌ను మార్చండి
6web3.setProvider("ws://localhost:8546")
7// లేదా
8web3.setProvider(new Web3.providers.WebsocketProvider("ws://localhost:8546"))
9
10// node.jsలో IPC ప్రొవైడర్‌ను ఉపయోగించడం
11var net = require("net")
12var web3 = new Web3("/Users/myuser/Library/Ethereum/geth.ipc", net) // mac os పాత్
13// లేదా
14var web3 = new Web3(
15 new Web3.providers.IpcProvider("/Users/myuser/Library/Ethereum/geth.ipc", net)
16) // mac os పాత్
17// windowsలో పాత్: "\\\\.\\pipe\\geth.ipc"
18// linuxలో పాత్: "/users/myuser/.ethereum/geth.ipc"
అన్నీ చూపించు

ఒకసారి సెటప్ చేసిన తర్వాత మీరు బ్లాక్‌చెయిన్‌ను వీటి కోసం ప్రశ్నించగలరు:

  • బ్లాక్ నంబర్లు
  • గ్యాస్ అంచనాలు
  • స్మార్ట్ కాంట్రాక్ట్ ఈవెంట్‌లు
  • నెట్‌వర్క్ ఐడి
  • ఇంకా మరిన్ని...

వాలెట్ ఫంక్షనాలిటీ

ఈ లైబ్రరీలు మీకు వాలెట్‌లను సృష్టించడానికి, కీలను నిర్వహించడానికి మరియు లావాదేవీలపై సంతకం చేయడానికి ఫంక్షనాలిటీని అందిస్తాయి.

Ethers నుండి ఒక ఉదాహరణ ఇక్కడ ఉంది

1// ఒక నిమోనిక్ నుండి వాలెట్ ఉదాహరణను సృష్టించండి...
2mnemonic =
3 "announce room limb pattern dry unit scale effort smooth jazz weasel alcohol"
4walletMnemonic = Wallet.fromPhrase(mnemonic)
5
6// ...లేదా ఒక ప్రైవేట్ కీ నుండి
7walletPrivateKey = new Wallet(walletMnemonic.privateKey)
8
9walletMnemonic.address === walletPrivateKey.address
10// నిజం
11
12// సైனர் API ప్రకారం ఒక ప్రామిస్‌గా చిరునామా
13walletMnemonic.getAddress()
14// { Promise: '0x71CB05EE1b1F506fF321Da3dac38f25c0c9ce6E1' }
15
16// ఒక వాలెట్ చిరునామా సింక్రొనస్‌గా కూడా అందుబాటులో ఉంది
17walletMnemonic.address
18// '0x71CB05EE1b1F506fF321Da3dac38f25c0c9ce6E1'
19
20// అంతర్గత క్రిప్టోగ్రాఫిక్ భాగాలు
21walletMnemonic.privateKey
22// '0x1da6847600b0ee25e9ad9a52abbd786dd2502fa4005dd5af9310b7cc7a3b25db'
23walletMnemonic.publicKey
24// '0x04b9e72dfd423bcf95b3801ac93f4392be5ff22143f9980eb78b3a860c4843bfd04829ae61cdba4b3b1978ac5fc64f5cc2f4350e35a108a9c9a92a81200a60cd64'
25
26// వాలెట్ నిమోనిక్
27walletMnemonic.mnemonic
28// {
29// locale: 'en',
30// path: 'm/44\'/60\'/0\'/0/0',
31// phrase: 'announce room limb pattern dry unit scale effort smooth jazz weasel alcohol'
32// }
33
34// గమనిక: ఒక ప్రైవేట్ కీతో సృష్టించబడిన వాలెట్‌కు
35// నిమోనిక్ ఉండదు (ఉత్పన్నం దానిని నిరోధిస్తుంది)
36walletPrivateKey.mnemonic
37// null
38
39// ఒక సందేశంపై సంతకం చేయడం
40walletMnemonic.signMessage("Hello World")
41// { Promise: '0x14280e5885a19f60e536de50097e96e3738c7acae4e9e62d67272d794b8127d31c03d9cd59781d4ee31fb4e1b893bd9b020ec67dfa65cfb51e2bdadbb1de26d91c' }
42
43tx = {
44 to: "0x8ba1f109551bD432803012645Ac136ddd64DBA72",
45 value: utils.parseEther("1.0"),
46}
47
48// ఒక లావాదేవీపై సంతకం చేయడం
49walletMnemonic.signTransaction(tx)
50// { Promise: '0xf865808080948ba1f109551bd432803012645ac136ddd64dba72880de0b6b3a7640000801ca0918e294306d177ab7bd664f5e141436563854ebe0a3e523b9690b4922bbb52b8a01181612cec9c431c4257a79b8c9f0c980a2c49bb5a0e6ac52949163eeb565dfc' }
51
52// కనెక్ట్ పద్ధతి ఒక కొత్త ఉదాహరణను అందిస్తుంది
53// ఒక ప్రొవైడర్‌కు కనెక్ట్ చేయబడిన వాలెట్
54wallet = walletMnemonic.connect(provider)
55
56// నెట్‌వర్క్‌ను ప్రశ్నించడం
57wallet.getBalance()
58// { Promise: { BigNumber: "42" } }
59wallet.getTransactionCount()
60// { Promise: 0 }
61
62// ఈథర్‌ను పంపడం
63wallet.sendTransaction(tx)
అన్నీ చూపించు

పూర్తి డాక్స్‌ను చదవండి (opens in a new tab)

ఒకసారి సెటప్ చేసిన తర్వాత మీరు వీటిని చేయగలరు:

  • ఖాతాలను సృష్టించండి
  • లావాదేవీలను పంపండి
  • లావాదేవీలపై సంతకం చేయండి
  • ఇంకా మరిన్ని...

స్మార్ట్ కాంట్రాక్ట్ ఫంక్షన్‌లతో సంభాషించండి

జావాస్క్రిప్ట్ క్లయింట్ లైబ్రరీలు, కంపైల్ చేయబడిన కాంట్రాక్ట్ యొక్క అప్లికేషన్ బైనరీ ఇంటర్‌ఫేస్ (ABI)ని చదవడం ద్వారా, స్మార్ట్ కాంట్రాక్ట్ ఫంక్షన్‌లను పిలవడానికి మీ అప్లికేషన్‌ను అనుమతిస్తాయి.

ABI ముఖ్యంగా కాంట్రాక్ట్ యొక్క ఫంక్షన్‌లను JSON ఫార్మాట్‌లో వివరిస్తుంది మరియు దానిని ఒక సాధారణ జావాస్క్రిప్ట్ ఆబ్జెక్ట్ లాగా ఉపయోగించడానికి మిమ్మల్ని అనుమతిస్తుంది.

కాబట్టి కింది Solidity కాంట్రాక్ట్:

1contract Test {
2 uint a;
3 address d = 0x12345678901234567890123456789012;
4
5 constructor(uint testInt) { a = testInt;}
6
7 event Event(uint indexed b, bytes32 c);
8
9 event Event2(uint indexed b, bytes32 c);
10
11 function foo(uint b, bytes32 c) returns(address) {
12 Event(b, c);
13 return d;
14 }
15}
అన్నీ చూపించు

కింది JSON ఫలితంగా వస్తుంది:

1[{
2 "type":"constructor",
3 "payable":false,
4 "stateMutability":"nonpayable"
5 "inputs":[{"name":"testInt","type":"uint256"}],
6 },{
7 "type":"function",
8 "name":"foo",
9 "constant":false,
10 "payable":false,
11 "stateMutability":"nonpayable",
12 "inputs":[{"name":"b","type":"uint256"}, {"name":"c","type":"bytes32"}],
13 "outputs":[{"name":"","type":"address"}]
14 },{
15 "type":"event",
16 "name":"Event",
17 "inputs":[{"indexed":true,"name":"b","type":"uint256"}, {"indexed":false,"name":"c","type":"bytes32"}],
18 "anonymous":false
19 },{
20 "type":"event",
21 "name":"Event2",
22 "inputs":[{"indexed":true,"name":"b","type":"uint256"},{"indexed":false,"name":"c","type":"bytes32"}],
23 "anonymous":false
24}]
అన్నీ చూపించు

దీని అర్థం మీరు వీటిని చేయగలరు:

  • స్మార్ట్ కాంట్రాక్ట్‌కు లావాదేవీని పంపి, దాని పద్ధతిని అమలు చేయండి
  • EVMలో అమలు చేసినప్పుడు ఒక పద్ధతి అమలుకు ఎంత గ్యాస్ పడుతుందో అంచనా వేయడానికి కాల్ చేయండి
  • ఒక కాంట్రాక్ట్‌ను అమలు చేయండి
  • ఇంకా మరిన్ని...

యుటిలిటీ ఫంక్షన్‌లు

యుటిలిటీ ఫంక్షన్‌లు మీకు సులభమైన సత్వరమార్గాలను అందిస్తాయి, ఇవి ఇతీరియముతో నిర్మించడాన్ని కొంచెం సులభతరం చేస్తాయి.

ETH విలువలు డిఫాల్ట్‌గా Weiలో ఉంటాయి. 1 ETH = 1,000,000,000,000,000,000 WEI – దీని అర్థం మీరు చాలా సంఖ్యలతో వ్యవహరిస్తున్నారు! web3.utils.toWei మీ కోసం ఈథర్‌ను Weiకి మారుస్తుంది.

మరియు ethersలో ఇది ఇలా కనిపిస్తుంది:

1// ఒక ఖాతా బ్యాలెన్స్‌ను పొందండి (చిరునామా లేదా ENS పేరు ద్వారా)
2balance = await provider.getBalance("ethers.eth")
3// { BigNumber: "2337132817842795605" }
4
5// తరచుగా మీరు వినియోగదారు కోసం అవుట్‌పుట్‌ను ఫార్మాట్ చేయవలసి ఉంటుంది
6// వారు విలువలను ఈథర్‌లో (weiకి బదులుగా) చూడటానికి ఇష్టపడతారు
7ethers.utils.formatEther(balance)
8// '2.337132817842795605'

అందుబాటులో ఉన్న లైబ్రరీలు

Web3.js - ఇతీరియము జావాస్క్రిప్ట్ API.

Ethers.js - జావాస్క్రిప్ట్ మరియు టైప్‌స్క్రిప్ట్‌లో పూర్తి ఇతీరియము వాలెట్ అమలు మరియు యుటిలిటీలు.

The Graph - ఇతీరియము మరియు IPFS డేటాను ఇండెక్స్ చేయడానికి మరియు దానిని GraphQL ఉపయోగించి ప్రశ్నించడానికి ఒక ప్రోటోకాల్.

Alchemy SDK - మెరుగుపరచబడిన APIలతో Ethers.js చుట్టూ ఉన్న వ్రాపర్.

viem - ఇతీరియము కోసం టైప్‌స్క్రిప్ట్ ఇంటర్‌ఫేస్.

Drift - అంతర్నిర్మిత కాషింగ్, హుక్స్ మరియు టెస్ట్ మాక్స్‌తో కూడిన టైప్‌స్క్రిప్ట్ మెటా-లైబ్రరీ.

మరింత సమాచారం

మీకు సహాయపడిన కమ్యూనిటీ వనరు గురించి తెలుసా? ఈ పేజీని సవరించి, దాన్ని జోడించండి!

ఈ ఆర్టికల్ ఉపయోగపడిందా?