Ruka hadi kwenye maudhui makuu

Kutuma Tokeni Kwa Kutumia ethers.js

ETHERS.JS
ERC-20
TOKENS
Mwanzo
Kim YongJun
6 Aprili 2021
3 soma ndani ya dakika

Tuma Tokeni Kwa Kutumia ethers.js(5.0)

Katika Somo Hili Utajifunza Jinsi ya

  • Ingiza ethers.js
  • Hamisha tokeni
  • Weka bei ya gesi kulingana na hali ya msongamano wa mtandao

Ili Kuanza

Ili kuanza, ni lazima kwanza tuingize maktaba ya ethers.js kwenye javascript yetu Jumuisha ethers.js(5.0)

Kusakinisha

/home/ricmoo> npm install --save ethers

ES6 katika Kivinjari

<script type="module">
  import { ethers } from "https://cdn.ethers.io/lib/ethers-5.0.esm.min.js"
  // Msimbo wako hapa...
</script>

ES3(UMD) katika Kivinjari

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

Vigezo

  1. contract_address: Anwani ya mkataba wa Tokeni (anwani ya mkataba inahitajika wakati tokeni unayotaka kuhamisha si ether)
  2. send_token_amount: Kiasi unachotaka kutuma kwa mpokeaji
  3. to_address: Anwani ya mpokeaji
  4. send_account: Anwani ya mtumaji
  5. private_key: Ufunguo binafsi wa mtumaji ili kusaini muamala na kuhamisha tokeni

Tangazo

signTransaction(tx) imeondolewa kwa sababu sendTransaction() inaifanya ndani kwa ndani.

Taratibu za Kutuma

1. Unganisha na mtandao (testnet)

Weka Mtoa Huduma (Infura)

Unganisha na Ropsten testnet

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

2. Tengeneza mkoba

let wallet = new ethers.Wallet(private_key)

3. Unganisha Mkoba na mtandao

let walletSigner = wallet.connect(window.ethersProvider)

4. Pata bei ya sasa ya gesi

window.ethersProvider.getGasPrice() // bei ya gesi

5. Bainisha Muamala

Vigezo hivi vilivyobainishwa hapa chini vinategemea send_token()

Vigezo vya muamala

  1. send_account: anwani ya mtumaji wa tokeni
  2. to_address: anwani ya mpokeaji wa tokeni
  3. send_token_amount: kiasi cha tokeni za kutuma
  4. gas_limit: kikomo cha gesi
  5. gas_price: bei ya gesi

Tazama hapa chini jinsi ya kutumia

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

6. Hamisha

walletSigner.sendTransaction(tx).then((transaction) => {
  console.dir(transaction)
  alert("Kutuma kumekamilika!")
})

Jinsi ya kuitumia

Imefanikiwa!

picha ya muamala uliofanywa kwa mafanikio

send_token()

Ukurasa ulisasishwa mwisho: 3 Machi 2026

Je, mafunzo haya yalikuwa ya msaada?