मुख्य सामग्री पर जाएँ

ethers.js का उपयोग करके टोकन भेजना

ETHERS.JS
ERC-20
टोकन
शुरआती
किम योंग-जुन
6 अप्रैल 2021
3 मिनट का पठन

ethers.js(5.0) का उपयोग करके टोकन भेजें

इस ट्यूटोरियल में आप जानेंगे कि कैसे

  • ethers.js आयात करें
  • टोकन ट्रांसफर करें
  • नेटवर्क ट्रैफिक स्थिति के अनुसार गैस मूल्य सेट करें

शुरू करने के लिए

शुरू करने के लिए, हमें सबसे पहले अपने जावास्क्रिप्ट में ethers.js लाइब्रेरी को आयात करना होगा ethers.js(5.0) शामिल करें

इंस्टॉल करना

1/home/ricmoo> npm install --save ethers

ब्राउज़र में ES6

1<script type="module">
2 import { ethers } from "https://cdn.ethers.io/lib/ethers-5.0.esm.min.js"
3 // आपका कोड यहाँ...
4</script>

ब्राउज़र में ES3(UMD)

1<script
2 src="https://cdn.ethers.io/lib/ethers-5.0.umd.min.js"
3 type="application/javascript"
4></script>

पैरामीटर्स

  1. contract_address: टोकन कॉन्ट्रैक्ट पता (जब आप जिस टोकन को ट्रांसफर करना चाहते हैं, वह ईथर नहीं है, तो कॉन्ट्रैक्ट पता की आवश्यकता होती है)
  2. send_token_amount: वह राशि जो आप रिसीवर को भेजना चाहते हैं
  3. to_address: रिसीवर का पता
  4. send_account: प्रेषक का पता
  5. private_key: लेनदेन पर हस्ताक्षर करने और वास्तव में टोकन ट्रांसफर करने के लिए प्रेषक की निजी कुंजी

सूचना

signTransaction(tx) को हटा दिया गया है क्योंकि sendTransaction() इसे आंतरिक रूप से करता है।

भेजने की प्रक्रिया

1. नेटवर्क से कनेक्ट करें (टेस्टनेट)

प्रोवाइडर सेट करें (इन्फ्यूरा)

रोपस्टेन टेस्टनेट से कनेक्ट करें

1window.ethersProvider = new ethers.providers.InfuraProvider("ropsten")

२. वॉलेट बनाएँ

1let wallet = new ethers.Wallet(private_key)

3. वॉलेट को नेट से कनेक्ट करें

1let walletSigner = wallet.connect(window.ethersProvider)

4. वर्तमान गैस मूल्य प्राप्त करें

1window.ethersProvider.getGasPrice() // गैस मूल्य

5. लेनदेन को परिभाषित करें

नीचे परिभाषित ये चर send_token() पर निर्भर हैं

लेनदेन पैरामीटर्स

  1. send_account: टोकन प्रेषक का पता
  2. to_address: टोकन रिसीवर का पता
  3. send_token_amount: भेजे जाने वाले टोकन की राशि
  4. gas_limit: गैस सीमा
  5. gas_price: गैस मूल्य

कैसे उपयोग करें इसके लिए नीचे देखें

1const tx = {
2 from: send_account,
3 to: to_address,
4 value: ethers.utils.parseEther(send_token_amount),
5 nonce: window.ethersProvider.getTransactionCount(send_account, "latest"),
6 gasLimit: ethers.utils.hexlify(gas_limit), // 100000
7 gasPrice: gas_price,
8}

6. ट्रांसफर करें

1walletSigner.sendTransaction(tx).then((transaction) => {
2 console.dir(transaction)
3 alert("भेजना समाप्त!")
4})

इसका उपयोग कैसे करें

1let private_key =
2 "41559d28e936dc92104ff30691519693fc753ffbee6251a611b9aa1878f12a4d"
3let send_token_amount = "1"
4let to_address = "0x4c10D2734Fb76D3236E522509181CC3Ba8DE0e80"
5let send_address = "0xda27a282B5B6c5229699891CfA6b900A716539E6"
6let gas_limit = "0x100000"
7let wallet = new ethers.Wallet(private_key)
8let walletSigner = wallet.connect(window.ethersProvider)
9let contract_address = ""
10window.ethersProvider = new ethers.providers.InfuraProvider("ropsten")
11
12send_token(
13 contract_address,
14 send_token_amount,
15 to_address,
16 send_address,
17 private_key
18)

सफलता!

सफलतापूर्वक किए गए लेनदेन की छवि

send_token()

1function send_token(
2 contract_address,
3 send_token_amount,
4 to_address,
5 send_account,
6 private_key
7) {
8 let wallet = new ethers.Wallet(private_key)
9 let walletSigner = wallet.connect(window.ethersProvider)
10
11 window.ethersProvider.getGasPrice().then((currentGasPrice) => {
12 let gas_price = ethers.utils.hexlify(parseInt(currentGasPrice))
13 console.log(`gas_price: ${gas_price}`)
14
15 if (contract_address) {
16 // सामान्य टोकन भेजना
17 let contract = new ethers.Contract(
18 contract_address,
19 send_abi,
20 walletSigner
21 )
22
23 // कितने टोकन?
24 let numberOfTokens = ethers.utils.parseUnits(send_token_amount, 18)
25 console.log(`numberOfTokens: ${numberOfTokens}`)
26
27 // टोकन भेजें
28 contract.transfer(to_address, numberOfTokens).then((transferResult) => {
29 console.dir(transferResult)
30 alert("टोकन भेज दिया गया")
31 })
32 } // ईथर भेजें
33 else {
34 const tx = {
35 from: send_account,
36 to: to_address,
37 value: ethers.utils.parseEther(send_token_amount),
38 nonce: window.ethersProvider.getTransactionCount(
39 send_account,
40 "latest"
41 ),
42 gasLimit: ethers.utils.hexlify(gas_limit), // 100000
43 gasPrice: gas_price,
44 }
45 console.dir(tx)
46 try {
47 walletSigner.sendTransaction(tx).then((transaction) => {
48 console.dir(transaction)
49 alert("भेजना समाप्त!")
50 })
51 } catch (error) {
52 alert("भेजने में विफल!!")
53 }
54 }
55 })
56}

पेज का अंतिम अपडेट: 3 मार्च 2026

क्या यह ट्यूटोरियल सहायक था?