Ana içeriğe atla

ethers.js Kullanarak Token Gönderme

ETHERS.JS
ERC-20
TOKENLAR
Başlangıç
Kim YongJun
6 Nisan 2021
2 dakikalık okuma

ethers.js(5.0) Kullanarak Token Gönderme

Bu Eğitimde Neler Öğreneceksiniz

  • ethers.js'yi içe aktarma
  • Token transfer etme
  • Ağ trafiği durumuna göre gas fiyatı belirleme

Başlarken

Başlamak için öncelikle ethers.js kütüphanesini JavaScript'imize içe aktarmalıyız ethers.js(5.0)'i dahil edin

Kurulum

/home/ricmoo> npm install --save ethers

Tarayıcıda ES6

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

Tarayıcıda ES3(UMD)

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

Parametreler

  1. contract_address: Token sözleşme adresi (transfer etmek istediğiniz token Ether değilse sözleşme adresi gereklidir)
  2. send_token_amount: Alıcıya göndermek istediğiniz miktar
  3. to_address: Alıcının adresi
  4. send_account: Gönderenin adresi
  5. private_key: İşlemi imzalamak ve token'ları fiilen transfer etmek için gönderenin özel anahtarı

Not

sendTransaction() bunu dahili olarak yaptığı için signTransaction(tx) kaldırılmıştır.

Gönderme Prosedürleri

1. Ağa bağlanma (test ağı)

Sağlayıcıyı Ayarlama (Infura)

Ropsten test ağına bağlanma

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

2. Cüzdan oluşturma

let wallet = new ethers.Wallet(private_key)

3. Cüzdanı ağa bağlama

let walletSigner = wallet.connect(window.ethersProvider)

4. Mevcut gas fiyatını alma

window.ethersProvider.getGasPrice() // gasPrice

5. İşlemi Tanımlama

Aşağıda tanımlanan bu değişkenler send_token()'e bağlıdır

İşlem parametreleri

  1. send_account: token göndereninin adresi
  2. to_address: token alıcısının adresi
  3. send_token_amount: gönderilecek token miktarı
  4. gas_limit: gaz limiti
  5. gas_price: gas fiyatı

Nasıl kullanılacağını görmek için aşağıya bakın

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

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

Nasıl kullanılır

Başarılı!

image of transaction done successfully

send_token()