ethers.js वापरून टोकन पाठवणे
ETHERS.JS
ERC-20
टोकन्स
नवशिक्या
Kim YongJun
६ एप्रिल, २०२१
2 मिनिट वाचन
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<script2 src="https://cdn.ethers.io/lib/ethers-5.0.umd.min.js"3 type="application/javascript"4></script>पॅरामीटर्स
contract_address: टोकन करार पत्ता (जेव्हा तुम्हाला हस्तांतरित करायचे असलेले टोकन इथर नसेल तेव्हा करार पत्त्याची आवश्यकता असते)send_token_amount: प्राप्तकर्त्याला पाठवायची असलेली रक्कमto_address: प्राप्तकर्त्याचा पत्ताsend_account: प्रेषकाचा पत्ताprivate_key: व्यवहारावर स्वाक्षरी करण्यासाठी आणि प्रत्यक्षात टोकन हस्तांतरित करण्यासाठी प्रेषकाची खाजगी की
सूचना
signTransaction(tx) काढून टाकले आहे कारण sendTransaction() ते आंतरिकरित्या करते.
पाठवण्याची प्रक्रिया
१. नेटवर्कशी कनेक्ट करा (टेस्टनेट)
प्रदाता सेट करा (Infura)
Ropsten टेस्टनेटशी कनेक्ट करा
1window.ethersProvider = new ethers.providers.InfuraProvider("ropsten")२. वॉलेट तयार करा
1let wallet = new ethers.Wallet(private_key)३. वॉलेट नेटशी कनेक्ट करा
1let walletSigner = wallet.connect(window.ethersProvider)४. सध्याची गॅस किंमत मिळवा
1window.ethersProvider.getGasPrice() // gasPrice५. व्यवहार परिभाषित करा
खाली परिभाषित केलेले हे व्हेरिएबल्स send_token() वर अवलंबून आहेत
व्यवहार पॅरामीटर्स
send_account: टोकन प्रेषकाचा पत्ताto_address: टोकन प्राप्तकर्त्याचा पत्ताsend_token_amount: पाठवायच्या टोकनची रक्कमgas_limit: गॅस मर्यादा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), // 1000007 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")1112send_token(13 contract_address,14 send_token_amount,15 to_address,16 send_address,17 private_key18)सर्व दाखवायशस्वी!
send_token()
1function send_token(2 contract_address,3 send_token_amount,4 to_address,5 send_account,6 private_key7) {8 let wallet = new ethers.Wallet(private_key)9 let walletSigner = wallet.connect(window.ethersProvider)1011 window.ethersProvider.getGasPrice().then((currentGasPrice) => {12 let gas_price = ethers.utils.hexlify(parseInt(currentGasPrice))13 console.log(`gas_price: ${gas_price}`)1415 if (contract_address) {16 // सामान्य टोकन पाठवणे17 let contract = new ethers.Contract(18 contract_address,19 send_abi,20 walletSigner21 )2223 // किती टोकन्स?24 let numberOfTokens = ethers.utils.parseUnits(send_token_amount, 18)25 console.log(`numberOfTokens: ${numberOfTokens}`)2627 // टोकन्स पाठवा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), // 10000043 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}सर्व दाखवापृष्ठ अखेरचे अद्यतन: ४ डिसेंबर, २०२३
