Přejít na hlavní obsah

Posílání tokenů pomocí ethers.js

ETHERS.JS
ERC-20
TOKENY
Začátečník
Kim YongJun
6. dubna 2021
2 minuta čtení

Odeslání tokenu pomocí ethers.js(5.0)

V tomto tutoriálu se naučíte

  • Importovat ethers.js
  • Převést token
  • Nastavit cenu transakčních poplatků podle situace v síti

Než začnete

Abyste mohli začít, musíme nejprve importovat knihovnu ethers.js do našeho javascriptu Zahrňte ethers.js(5.0)

Instalace

/home/ricmoo> npm install --save ethers

ES6 v prohlížeči

<script type="module">
  import { ethers } from "https://cdn.ethers.io/lib/ethers-5.0.esm.min.js"
  // Váš kód zde...
</script>

ES3(UMD) v prohlížeči

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

Parametry

  1. contract_address: Adresa kontraktu tokenu (adresa kontraktu je potřeba, když token, který chcete převést, není ether)
  2. send_token_amount: Částka, kterou chcete poslat příjemci
  3. to_address: Adresa příjemce
  4. send_account: Adresa odesílatele
  5. private_key: Soukromý klíč odesílatele k podepsání transakce a skutečnému převodu tokenů

Upozornění

signTransaction(tx) je odstraněno, protože sendTransaction() to dělá interně.

Postupy odesílání

1. Připojit se k síti (testnet)

Nastavit poskytovatele (Infura)

Připojit se k Ropsten testnetu

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

2. Vytvořit peněženku

let wallet = new ethers.Wallet(private_key)

3. Připojit peněženku k síti

let walletSigner = wallet.connect(window.ethersProvider)

4. Získat aktuální cenu transakčních poplatků

window.ethersProvider.getGasPrice() // cena transakčních poplatků

5. Definovat transakci

Níže definované proměnné jsou závislé na send_token()

Parametry transakce

  1. send_account: adresa odesílatele tokenu
  2. to_address: adresa příjemce tokenu
  3. send_token_amount: počet tokenů k odeslání
  4. gas_limit: limit transakčních poplatků
  5. gas_price: cena transakčních poplatků

Jak používat, viz níže

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. Převod

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

Jak to použít

Úspěch!

obrázek úspěšně dokončené transakce

send_token()

Poslední aktualizace stránky: 3. března 2026

Byl tento návod užitečný?