Vai al contenuto principale

Inviare token usando ethers.js

ETHERS.JS
ERC-20
token
Principiante
Kim YongJun
6 aprile 2021
3 minuti di lettura

Inviare token usando ethers.js(5.0)

In questo tutorial imparerai come

  • Importare ethers.js
  • Trasferire token
  • Impostare il prezzo del gas in base alla situazione del traffico di rete

Per iniziare

Per iniziare, dobbiamo prima importare la libreria ethers.js nel nostro javascript Includere ethers.js(5.0)

Installazione

/home/ricmoo> npm install --save ethers

ES6 nel browser

<script type="module">
  import { ethers } from "https://cdn.ethers.io/lib/ethers-5.0.esm.min.js"
  // Il tuo codice qui...
</script>

ES3(UMD) nel browser

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

Parametri

  1. contract_address: Indirizzo del contratto del token (l'indirizzo del contratto è necessario quando il token che si desidera trasferire non è ether)
  2. send_token_amount: L'importo che si desidera inviare al destinatario
  3. to_address: L'indirizzo del destinatario
  4. send_account: L'indirizzo del mittente
  5. private_key: Chiave privata del mittente per firmare la transazione e trasferire effettivamente i token

Avviso

signTransaction(tx) è stato rimosso perché sendTransaction() lo fa internamente.

Procedure di invio

1. Connettersi alla rete (rete di test)

Impostare il Provider (Infura)

Connettersi alla rete di test Ropsten

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

2. Creare il portafoglio

let wallet = new ethers.Wallet(private_key)

3. Connettere il portafoglio alla rete

let walletSigner = wallet.connect(window.ethersProvider)

4. Ottenere il prezzo del gas attuale

window.ethersProvider.getGasPrice() // gasPrice

5. Definire la transazione

Queste variabili definite di seguito dipendono da send_token()

Parametri della transazione

  1. send_account: indirizzo del mittente del token
  2. to_address: indirizzo del destinatario del token
  3. send_token_amount: la quantità di token da inviare
  4. gas_limit: limite del gas
  5. gas_price: prezzo del gas

Vedi sotto per come usarlo

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. Trasferimento

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

Come usarlo

Successo!

immagine della transazione completata con successo

send_token()

Ultimo aggiornamento della pagina: 3 marzo 2026

Questo tutorial è stato utile?